Еще один блог :)

Вопросы по Nodejs - Часть 3

Часть 3. 21-30

  1. Как предотвратить ад из функций обр. вызова
  2. Назовите два типа функций NodeJS
  3. Какой первый аргумент обычно передается в ф-ю обр. вызова
  4. В чем отличие Node от AJAX
  5. Что такое конвеер, цепочка
  6. Какие коды завершения вы знаете
  7. Какие объекты глобальны
  8. Какие параметры передаются в async.queue
  9. Назовите способы написания асинхронного кода для Node
  10. Какие команды исп-ся для импорта внешних библиотек

21.  Обычный способ - обрабатывать ошибку в месте ее появления, каждую функцию стараться разложить на как можно более мелкие,  функции обратного вызова так же необходимо разложить на мелкие, передавая в них те же параметры, что и на входной точке, а затем объединить их вывод для достижения требуемого результата (принцип конвеера)

22. В NodeJS существует два типа функций - синхронные и асинхронные.

Синхронные функции являются блокирующими, поскольку они приостанавливают выполнение вызывающего кода до окончания ввода-вывода. Пример fs.readFileSync. Их следует по возможности избегать

Асинхронные функции - это неблокирующие функции, которые исполняются сами по себе и не приостанавливают выполнение вызвавшего кода. Пример - fs.readFile, такие функции предпочтительно использовать, так как они повышают производительность. Когда асинхронная функция завершается, N вызывает функцию обратного вызова, в которую передается результат асинхронной функции

пример:

var fs = require('fs');

fs.readFile('/file.txt', function(err, data){

console.log(data);

});

 

23. Первым аргументом передают объект типа Error (ошибка), если ошибки нет, то аргумент равен null или undefined

function cb(err, data) {

if (err) { ... } else { .... }

}

24 И AJAX и NodeJS - расширения JavaScript. Они служат разным целям.  AJAX спроектирован для обновления участков документа без перезагрузки страницы, NodeJS - для разработки сложных больших веб-приложений клиент-серверной архитектуры

25 Соединение вывода одного потока с входом другого потока называют сцеплением. А последовательность сцеплений используют для последовательной обработки данных, это и называется конвеером

26. Код завершения - особое значение, которое передается при завершении процесса.

27. Есть три ключевых слова для доступа  к глобальным данным

Globals -  пространство имен содержащее все объекты

Process - информация о процессе и окружение. В контексте асинхронной операции Process становится синхронным

Buffer - класс для обработки двоичных данных

28. Эти параметры функция task и значение concurrency

29 Основные способы написания асинхроннного кода

а) модуль Async

б) использование обещаний Promisee

в) декомпозиция функций

г) использование async/await

На практике используется модуль npm Async

30. Подключение модуля вып-ся командой require

Н-р, var http = require('http');

Опубликовано в категории Вопросы по NodeJS

×