Урок 6.1Урок 20 з 24
Вибір реалізації в Node.js
Given a scenario and requirements, infer which Node.js implementation is a good solution.
Головне
- 1Node.js виконує ваш JavaScript в одному головному потоці. Операції I/O Node.js делегує, а їхні колбеки пізніше запускає цикл подій.
- 2Будь-яка синхронна й повільна операція, як-от readFileSync в обробнику запиту чи важкий цикл, зупиняє всі інші запити, доки не завершиться.
- 3Для великих або нескінченних даних використовуйте стрим: він обробляє дані порціями, тож споживання пам'яті не зростає. Віддавайте перевагу stream.pipeline — він передає помилки далі.
- 4EventEmitter викликає слухачів синхронно, у порядку їх додавання. Подія error без слухача викидається як помилка.
- 5process.nextTick виконується раніше за колбеки промісів; setImmediate — на наступній ітерації циклу подій. Важкі для CPU обчислення переносьте у
worker_threads.
Що перевіряє іспит із цієї теми
Формулювання з програми іспиту (англійською).
- 6.1.K1Node.js as a single-threaded event-driven runtime; non-blocking I/O
- 6.1.K2Streams, EventEmitter, and when to use callbacks, promises or streams
- 6.1.S1Choose the Node.js implementation that meets a requirement
Закріпіть тему
Дайте відповідь на запитання за сценаріями з цієї теми. До кожного варіанта є розбір.
Тренування 6.1 · 12 запитань