首页 > 解决方案 > 传递给函数的参数在等待后消失

问题描述

在下面的代码中,等待之后,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
  })
}

标签: javascript

解决方案


看起来 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)
  ...
}

推荐阅读