Использование сценария ванильного узел как следующий асинхронном узел работает просто отлично:узел асинхронной вызывает только первую функцию, когда внутри узла-лямбда
async = require('async');
async.waterfall([
function (c) {
console.log(1);
c(null);
},
function (c) {
console.log(2);
c(null);
}
]);
выше при запуске через node test.js
распечатывает:
1
2
... как и ожидалось.
Однако если поместить код внутри обработчика узлов лямбда:
var async = require('async');
exports.handler = function(event, context) {
console.log("==================================");
async.waterfall([
function (c) {
console.log(1);
c(null);
},
function (c) {
console.log(2);
c(null);
}
]);
console.log("==================================");
context.done();
}
Только первый метод вызывается, когда я бегу ./node_modules/.bin/node-lambda run
==================================
1
==================================
Я использую:
- async 1.5.2,
- узел 5.5.0
- узел лямбда 0.1.5
@keithgould Я обновил ответ. Попробуйте удалить 'context.done();' для проверки – isvforall
Boom! Это было @isvforall. Спасибо. –