В петлевой документации, что означает переменная "cb"?
Посмотрите на код обратной связи в их документации http://docs.strongloop.com/display/public/LB/Defining+and+using+roles, что я пытаюсь понять, так как start - это "cb". Я понимаю, что это своего рода обратный вызов, но почему это все вокруг? Это связано с Async.js?
1 ответ
Это связано с тем, как узел работает асинхронно. Он использует "цикл обработки событий", который передает другие функции ввода / вывода фоновому рабочему потоку. Когда фоновая работа завершается, цикл обработки событий получает обратный вызов. Здесь есть хорошее обсуждение этого: почему node.js асинхронный?
Библиотеки узлов, которые используют дорогие ресурсы, следуют этой модели для повышения производительности.
Обратный вызов - это функция, которую вы передаете в библиотечную функцию, которая выполняется, когда эта функция завершает свою обработку. Это часто анонимно.
Соглашение состоит в том, чтобы эта функция принимала параметр ошибки в качестве первого аргумента, а результаты - в качестве последующих. Вы увидите этот шаблон везде:
lib.somfunc( 'argument', function(err, res){
if(err)....
});
Async.js - это что-то немного другое. Это библиотека, которая предоставляет различные средства для управления асинхронным кодом, который использует обратные вызовы.