javascript - 传递给函数的参数在等待后消失
问题描述
在下面的代码中,等待之后,user_message 和 bot 参数消失了,我不明白为什么。
const process_user_message = async ({user_message, bot}) => {
console.log('before await…')
console.log(user_message) // logs lovely big object
console.log(typeof user_message) // logs 'object'
df_result = await df_query({
query: user_message.text,
session_id: user_message.channel,
bot: bot
})
console.log('after await…')
console.log(user_message) // logs nothing :(
console.log(typeof user_message) // logs nothing :(
bus.emit('message from dialogflow', {
bot,
df_result,
user_message
})
}
解决方案
看起来 df_result 从未定义过。
const process_user_message = async ({user_message, bot}) => {
const df_result = await df_query({
query: user_message.text,
session_id: user_message.channel,
bot: bot
});
console.log(typeof user_message)
...
}
推荐阅读
- css - SVG 溢出:被引导程序隐藏。为什么?
- node.js - 从 Multer 节点服务器访问 React 中的上传数据
- c# - 当列表具有相同属性时,如何使用 LINQ 过滤列表?
- android-studio - LibGdx:如何为 UI 元素设置单独的视口?
- java - 如何授予 Java Web 应用访问 Digital Ocean Droplet 的权限
- sql - 如何使用连接、限制和最小值优化此查询,超过 3 个包含大量数据的表
- c++ - 将 substr 存储到另一个变量中以进行进一步分配
- javascript - 开玩笑地模拟 window.sessionStorage 的最佳方法是什么
- javascript - 捕获多个 URL 字符串的所有正则表达式
- java - Spark SQL 构建器 - JAVA API