【发布时间】:2017-04-10 12:28:39
【问题描述】:
我是 NodeJS 函数调用的新手,我已经在屏幕上敲了几个小时,我所有的谷歌搜索都没有帮助。
所以我拥有的是一个 AWS Lambda 函数,它接收一个带有单个 ID 号的 JSON 对象。这个 ID 号被传递并最终作为 myid 发送到 getJson 函数中。这部分正在工作,它使用来自 NPM 的 REQUEST 模块,它到达 Web 服务并拉回数据。当我 console.log(body) 看到我需要的 JSON 对象时。
问题是我无法让它返回数据,因此我可以在其他地方使用 JSON。我已经尝试过 CALLBACK (BODY)、RETURN (BODY),但没有任何东西都能让我返回要使用的数据。
我尝试在函数中使用回调,它确实调用了该函数,但由于某种原因,即使该函数也不会返回数据供我使用。我已经将 JSON 硬编码到一个变量中并返回它并且它可以工作......但如果我使用 REQUEST 它就不会把它还给我。
我希望这很简单...在此先感谢您!
Calling the function:
query_result.success = 1;
query_result.message = "Applicant Data Found";
query_result.data = getJson(201609260000003, returningData);
function getJson(myid, callback){
request('http://server.com/service1.asmx/Get_Status_By_External_Id?externalId=' + myid + '',
function (error, response, body) {
console.log(body); // I see the JSON results in the console!!!
callback (body); // Nothing is returned.
}
);
}
function returningData(data){
console.log("ReturningData Function Being Called!");
var body = '{"Error":null,"Message":null,"Success":true,"ExternalId":"201609260000003","SentTimeStamp":"11/22/2016 1:07:36 PM","RespTimeStamp":"11/22/2016 1:08:32 PM","RespTot":"SRE"}';
return JSON.parse(body);
}
【问题讨论】:
标签: javascript json node.js aws-lambda