Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 August 14

N

Nikita in NodeUA - JavaScript and Node.js in Ukraine
да ну?) всмысле
источник

N

Nikita in NodeUA - JavaScript and Node.js in Ukraine
https://github.com/nodejs/node/blob/master/lib/http.js

где вы тут тайпскрипт нашли?)
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
Народ, кто что думает насчёт flow.
Концептуально насколько я понимаю он сильно более строгий в плане требований к типам
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
У меня вот такой файл открылся: https://bit.ly/2XhyN35 когда я перешел по ссылке require('http');

И там вот такая странная запись:
function createServer(requestListener?: RequestListener): Server;
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
Это IDE подтягивает типы
источник

M

Merry in NodeUA - JavaScript and Node.js in Ukraine
Это не исходный код модуля
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
VSCode?
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
точно
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
.
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
не понимаю, что значит подтягивает типы, я думал, он мне откроет исходный файл, который мы подключаем.
источник

DL

Daniil Loban in NodeUA - JavaScript and Node.js in Ukraine
многие модули на тайпскрипте так что если смотреть сорцы хотя бы то пригодится, ничего в нем суперсложного нет
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
По умолчанию в поставке ноды нет исходников встроенных модулей
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
Это к сведению
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Не понял, что это значит, что именно мы тогда require здесь:
const http = require('http');? у меня открывается http.d.ts
Буду выяснять, день полон сюрпризов.
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Немного нубских вопросов, по этому коду:
const server = http.createServer((request, response) => {});


Я так понимаю у нас здесь объект http у которого есть метод createServer в который мы передаем коллбек. Верно?

Вот я написал то же самое, myHttp:
let myHttp = {};

myHttp.createServer = function createServer(callback) {
 callback({ stream: 'request' }, { stream: 'response' });
};

const server = myHttp.createServer(function (req, res) {
 console.log(req.stream);
 console.log(res.stream);
});
источник

H

Hesus in NodeUA - JavaScript and Node.js in Ukraine
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Другой вопрос
const http = require('http');
const server = http.createServer((request, response) => {

});

Как я понял коллбек передаваемый в  функцию createServer будет вызываться каждый раз при http запросе. Если у нас например в один момент пришло сто тысяч запросов, то появится ли очередь, когда сервер не сможет перейти к новому запросу, пока не обработает предыдущий? И должны ли мы передавать асинхронный коллбек?

const http = require('http');
const server = http.createServer(async(request, response) => {

});
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Как Вам уже написали, это не исходники, а TypeScript type definitions (.d.ts), которые VSCode подтянул сам (скорее всего отсюда https://github.com/DefinitelyTyped/DefinitelyTyped). Они никакого отношения к nodejs не имеют.
Хотите посмотреть исходники, открывайте репозиторий nodejs (ссылку кидали выше).
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Почитайте что такое async/await. Это "синтаксический сахар" над promise.
От того, что Вы поставили "async" перед функцией, она не станет асинхронной.
источник

AK

Alexandr Kazakov in NodeUA - JavaScript and Node.js in Ukraine
Ок, спасибо. Насчет vscode я понял, но в самом проекте мы же делаем require('http'), откуда же тогда берется http модуль?
источник