Мне нужно написать фрагмент кода в node.js, где мне нужно управлять асинхронным потоком с помощью async.js
. Существует функция в async.js
под названием async.waterfall
, которая дает возможность передать некоторое значение следующей выполняемой функции. Моя проблема заключается в том, что я должен запустить async.eachSeries
для управления потоком по массиву, но я не могу найти какой-либо вариант для передачи некоторого значения, например, водопада. Есть ли?async.waterfall как альтернатива для async.eachSeries
0
A
ответ
1
async.eachSeries() не имеет возможности передать значение, но вы можете использовать закрытие для сохранения значения для следующей итерации. Например:
var async = require('async');
(function() {
var lastValue = 1;
async.eachSeries([1, 2, 3, 4, 5], function (item, eachCb) {
console.log('item ' + item + ', last value: ' + lastValue);
lastValue = lastValue + item;
eachCb(null);
}, function (err) {
console.log('done:' + lastValue);
});
})();
Выход будет:
item 1, last value: 1
item 2, last value: 2
item 3, last value: 4
item 4, last value: 7
item 5, last value: 11
done: 16
Как вы можете видеть на выходе, текущая итерация использует сохраненное значение последней итерации в.
Смежные вопросы
- 1. Вложенные async.eachSeries стеки итераций
- 2. async.eachSeries запускается только один раз с async.waterfall внутри для каждой итерации
- 3. callback undefined in async.waterfall метод
- 4. node.js inested async.eachSeries
- 5. Новичок async.waterfall
- 6. Вложенной узел async.eachSeries
- 7. как для ... в цикл в async.waterfall nodejs
- 8. Async.eachSeries on FindOne не работает
- 9. async.waterfall внутри петли для петли выходит из цикла петли
- 10. гнездо async.waterfall в async.forEachSeries
- 11. Потеря области с async.waterfall
- 12. метод async.waterfall Экспресс
- 13. Результирует ли res.end() async.waterfall?
- 14. nodejs async.waterfall метод
- 15. async.each вложен в async.waterfall
- 16. async.waterfall bind context
- 17. Что такое шаблон async.retryable для async.waterfall?
- 18. Функция собственного обратного вызова для Async.waterfall
- 19. Mysql и node async.waterfall
- 20. Stubbing async.waterfall с Sinon.JS
- 21. Вложенные async.eachSeries в водопаде выполняются в неправильном порядке
- 22. Альтернатива альтернатива для basecamp?
- 23. async.series вложенные в async.eachSeries цикл завершает раннюю отправку ответа POST
- 24. вопросы об async.waterfall в node.js
- 25. Как перезапустить async.waterfall, если ошибка возникла?
- 26. Как вызвать несколько Async.waterfall параллельно в Node.js
- 27. Как использовать jQuery Отложенные функции вместо async.waterfall?
- 28. async.waterfall внутри async.each не работает?
- 29. Проблема с async.waterfall в nodejs
- 30. Назначить глобальную переменную из async.waterfall
На самом деле я хотел избежать глобального состояния. Есть ли какой-либо путь без глобальной переменной состояния? – taufique
если вызов библиотеки не разрешает, я не вижу, как использовать закрытие. В этом случае он глобальный, но внутри этого модуля. Вы можете даже обернуть вокруг функцию, чтобы сделать ее просто переменной функции. Я изменю свой ответ. – Ben