Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 August 13

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
Я пишу и на экспрессе по нужде.
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
В express использую для DI inversify
источник

М

Максим in NodeUA - JavaScript and Node.js in Ukraine
В нест проще отчасти что строго задана структура проекта и навязываются разумные практики
источник

AF

Anton Farm-sharing in NodeUA - JavaScript and Node.js in Ukraine
А для этого хорошее понимания паттеронов было бы неплохо иметь. Здесь неплохо описывается https://refactoring.guru/ru/design-patterns/catalog
источник

М

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

AF

Anton Farm-sharing in NodeUA - JavaScript and Node.js in Ukraine
Если джава знаешь, на этом ресурсе примеры на джава лучше описаны, советую
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Ну смотри, там ведь написано что nextTick вообще не использует event loop. Наверное нужно было бы изначально спросить почему ты создав новый экземпляр промиса не вызвал resolve или reject колбек, без них я не вижу смысла использования промиса. На что ты хотел обратить внимание?
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Что изменится от того, что я вызову резолв? Думаешь поменяется порядок отображения строк? Нет, не поменяется
Дока по твоей ссылке устарела, кстати: про микротаски ничего не сказано
А мой пример ответом был на конкретный комментарий (но там уже выяснили, что я контекст потерял и неверно понял человека)
источник

AS

Alexey Shultsev in NodeUA - JavaScript and Node.js in Ukraine
Когда код с промисом выглядит так new Promise(resolve => resolve ('promise')).then(console.log);
источник

AB

Andrew Blashchuk in NodeUA - JavaScript and Node.js in Ukraine
Я б футболочку такую прикупил бьІ =)
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Или так: меньше кодишь - меньше шкодишь
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Не знаю, что Вы хотели показать этим примером, но он делает не то, что кажется на первый взгляд.

new Promise(() => console.log('promise'));
Напечатается первым потому, что callback вызывается синхронно, а не потому, что он первым зарегистрировал microtask.

Попробуйте вызвать
new Promise(() => console.log('promise'));
console.log('after promise');
process.nextTick(() => console.log('nextTick'));

Порядок будет
promise
after promise
nextTick
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
А event loop (не libuv) обрабатывает сначала nextTick, потом microtasks.
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
libuv обрабатывает setTimeout, setInterval и setImmediate
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Чтобы проверить это выполните
Promise.resolve().then(() => console.log('promise'));
console.log('after promise');
process.nextTick(() => console.log('nextTick'));

Получится
after promise
nextTick
promise
источник

Y

Yevhen in NodeUA - JavaScript and Node.js in Ukraine
Передача callback в new Promise() не делает его выполнение асинхронным
источник
2021 August 14

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Case-1
Promise.resolve(1).then(console.log);

Case-2
new Promise((resolve) => resolve(2)).then(console.log);

Case-3
new Promise((resolve) => {
   resolve(3);
   process.nextTick(() => console.log(4));
}).then(console.log);

Case-4
new Promise(() => console.log(5));

Case-5
process.nextTick(() => console.log(6));

Result
5
4
6
1
2
3
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
проверил в версиях: v10, v14, v16 — результат одинаков
источник

MA

Maksim Andreevich in NodeUA - JavaScript and Node.js in Ukraine
Заморочился)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
👍
источник