У меня самые частые - это
waterfall и
parallel
Пример с waterfall:
// Получение данных пользователя
async.waterfall([
// Получаем данные пользователя по сессии
function (cb) {
},
// Получаем данные пользователя по запросу
function (sessionUser, cb) {
},
// Делаем проверку доступа и если всё ок,
// то отдаём данные
function (requestUser, sessionUser, cb) {
},
], callback);
Для задач дробления через setImmediate или nextTick прекрасно
подходят циклы async:
var count = 0;
async.whilst(
function () { return count < 5; },
function (callback) {
count++;
setImmediate(function () {
...
callback();
});
},
function (err) {
...
}
);
Цитата:
|
Так или иначе, скоро в Nodejs будут доступны встроенные ES6 Promises, думаю, это повлияет на API большинства новых модулей, а может быть и самого Nodejs,
|
На саму ноду не повлияет никак. Дело в том, что в первых версиях ноды были именно промисы, но от них отказались, т.к. они были чрезвычайно не эффективны для задач ноды.
Дело в том, что при работа на сервере в ноде часто работа идёт с потоками, т.е. данные принимаются / отдаются чанками, что полностью противостоит модели промисов, когда данные получаются сразу. Делается это, как я уже говорил, из соображений эффективности.
Так что какой-то революции нативные промисы не сделают, но всё же хорошо, что их добавят