如何在Node.JS中的回调函数中等待异步http请求?

时间:2018-06-03 08:52:45

标签: javascript node.js asynchronous

我正在开发我的第一个AWS Alexa技能,我希望在处理程序中调用一些API,并在从Alexa处理程序返回之前等待结果

这样的事情:

const https = require('https');
const MyHandler = {
  handle(handlerInput) {
    req = https.request({my api params}, function(res){
      var data = '';
      res.on('data', function(d){
        data += d;
      });
      res.on('end', function(){
        api_result = JSON.parse(data); // This I will need later
      });
    });
    req.end();

    // ===> Now do something with api_result - how do I wait here??

    return handlerInput.responseBuilder
      .speak(speechOutput)
      .getResponse();
  }
};

AWS Alexa调用函数MyHandler.handle(),我无法控制调用者。我需要的是以某种方式等待代码api_result通过调用我的远程API来填充。

我该怎么做? 谢谢!

0 个答案:

没有答案