【发布时间】:2017-04-03 05:34:43
【问题描述】:
我想做一个调用 API(第三方)并立即返回的函数,但它正在等待 API 响应。
这是代码示例:
var request = require('request');
// When I call functionOne it should trigger functionTwo and should end immediately,
// but unfortunately, it is waiting for functionTwo to end
module.exports.functionOne = (event, context, cb) => {
const uri = 'https://xxxxxxxxx.execute-api.us-east-1.amazonaws.com/dev/functionTwo';
request.post({ uri: uri });
cb(null, "done functionOne");
};
module.exports.functionTwo = (event, context, cb) => {
console.log("i'm functionTwo");
setTimeout(function () {
console.log("I'm functionTwo about to end");
context.succeed("done functionTwo");
}, 5000);
};
此外,如果我尝试调用context.succeed() 而不是cb(),它甚至会阻止 API 调用和函数立即返回而不调用 API。
我还在GitHub 上创建了一个问题。
附加信息:
- 无服务器框架:v1.0.0-rc.2
- 节点:v6.9.1
- 操作系统:Win 10
【问题讨论】:
标签: javascript node.js aws-lambda node-request serverless-framework