Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Глупый вопрос по Node js (https://javascript.ru/forum/node-js-io-js/69039-glupyjj-vopros-po-node-js.html)

Audaxviator 30.05.2017 21:50

Хосподи, ну давай я без класса то же самое напейшу, и без стрелочек:

function Http(req, res) {
	this.req = req;
	this.res = res;
}
Http.prototype.createServer = function(func) {
						func(this.req, this.res);
					};

var http = new Http({	url: '/' },
			    { write: function(s) {console.log(s);} });
										
module.exports = http;


И ещё модуль экспортирую, разделю на два файла (чтоб было попохожее), положу его рядом и назову http.js, и основной тогда будет такой:

var http = require('./http');

http.createServer(function(req, res) {
	if(req.url == '/')
		res.write('Hello, World!');
});


И ты не поверишь, но результат будет тот же.

Rise 30.05.2017 22:18

Audaxviator, можно просто посмотреть код модулей на гитхабе.

Audaxviator 30.05.2017 22:53

Кому посмотреть, зачем посмотреть?
У человека был нормальный, хороший вопрос - как в колбэк попадают параметры запроса и ответа? Поскольку мне, старику, делать нечего, то я и подумал - это ж какой-то не сложный механизм? Ну и попытался сам принцип изобразить (заодним приучая себя к новому "сахарному" синтаксису моего почти любимого языка). И потом, я же не "профессор", я сам на старости лет эту науку только осваиваю (не совсем понятно, за каким хером, - в этой стране нужны только программисты PHP и 1С, а про Ноду тут никто почти и не знает).

А существо принципа заключается в повсеместном использовании в javascript анонимных функций и анонимных объектов. И это же касается не только объектов запроса и ответа, а параметров вообще всех колбэков, "лапша" из которых так пугает PHP-шников и прочих всяких явистов. Короче, это "былинная земля под названием Лямбда Окраинная".


Часовой пояс GMT +3, время: 22:13.