使用类似以下节点异步的vanilla节点脚本可以正常工作:
async = require('async');
async.waterfall([
function (c) {
console.log(1);
c(null);
},
function (c) {
console.log(2);
c(null);
}
]);
通过node test.js
运行的上述内容打印出来:
1
2
......正如所料。
但是,如果我将代码放在node-lambda处理程序中:
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
==================================
我正在使用:
答案 0 :(得分:1)
您正在使用异步代码。
显然,代码context.done( );
完成主函数handler
和其他异步代码(瀑布中的第二个函数)的执行无法执行,它没有足够的时间,因为主函数已经完成。