AWS Lambda Node.js 在异步 HTTP 请求完成后执行 this.emit

莫莉哈珀

我正在发出 API 请求,并想通过请求返回的数据向用户提出一个问题。我调用一个函数,该函数执行请求并返回适当的响应:

httpRequest(params).then(function(body) {
  console.log(body);
  this.emit(':ask', speechOutput, repromptSpeech);
});

this.emit 函数返回一个未处理的承诺拒绝错误。如何等待请求回调被执行,然后发出 :ask 事件?

罗伯特克莱普

this承诺处理程序内部与this外部不同,因此我认为未处理的承诺拒绝可能表明这this.emit不是一个函数。

一个快速的解决方案是使用箭头函数,这可能是您自己的答案中的代码也起作用的原因:

// `this` here...
httpRequest(params).then(body => {
  console.log(body);
  this.emit(':ask', speechOutput, repromptSpeech); // ...is the same as `this` here
}).catch(error => {
  console.error('uh-oh!', error);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Node.js AWS Lambda发送HTTP请求?

来自分类Dev

在node.js应用程序中全部完成后并行的http并行获取请求

来自分类Dev

带有Lambda HTTP GET请求的AWS API Gateway(Node.js)502错误的网关

来自分类Dev

Lambda node.js中异步代码的意外执行

来自分类Dev

使用异步Node.JS来服务HTTP请求

来自分类Dev

在 node.js 8.10 中使用异步瀑布进行 AWS Lambda 查询

来自分类Dev

完成所有异步Http请求后执行功能

来自分类Dev

完成所有异步Http请求后执行功能

来自分类Dev

如何将 net.socket 数据从 AWS Lambda Node.js 8.10 异步函数返回到 AWS API 网关?

来自分类Dev

异步执行时的AWS Lambda回调

来自分类Dev

AWS Lambda不执行node.js MySQL查询

来自分类Dev

使用 node.js 的 AWS Lambda 不执行承诺功能

来自分类Dev

在异步AWS Lambda函数中使用带有节点获取模块的node.js时遇到问题

来自分类Dev

AWS Lambda中的HTTP请求

来自分类Dev

Aws LAMBDA:HTTP POST 请求

来自分类Dev

使用Node Js的AWS Lambda在http.request()上提供“ connect ETIMEDOUT”

来自分类Dev

获取使用Lambda调用AWS HTTP API的URL-Node.js

来自分类Dev

异步功能完成后执行功能

来自分类Dev

Node.js For循环异步请求

来自分类Dev

仅使用Node.js进行异步HTTP(S)遍历

来自分类Dev

等待功能完成后再执行下一步-Node JS

来自分类Dev

成功完成后 AWS Lambda 函数超时

来自分类Dev

AWS Lambda-同步与异步

来自分类Dev

通过http请求调用AWS Lambda函数

来自分类Dev

等待异步HTTP请求完成

来自分类Dev

将请求库导入到node.js上的AWS Lambda中

来自分类Dev

AWS Lambda中的简单node.js示例

来自分类Dev

在node.js中的AWS Lambda函数之间共享代码

来自分类Dev

在AWS Lambda node.js中获取机密

Related 相关文章

热门标签

归档