我正在开发我的第一个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来填充。
我该怎么做? 谢谢!