Dialogflow,从网络服务获得响应后将消息发送回客户端

时间:2019-12-12 16:20:41

标签: dialogflow dialogflow-fulfillment

我正在使用Dialogflow创建一个机器人,并希望通过从Web服务器检索到的数据来响应用户。 我的代码如下:

function callCreateBooking(){
      return axios.get("http://thisismywebservice/test.php");
  }

  function createBooking(agent){
     agent.add('Making request');
     return callCreateBooking().then(result => {
            console.log('Got response');
            console.log(result.data[0].result);
            agent.add(`Response: ${result.data[0].result}`);
     }).catch(error => {
            console.log(`Error: ${error}`);
            agent.add(`Error: ${error}`);
     });
  }

  intentMap.set('restaurant.booking.intent', createBooking);
  agent.handleRequest(intentMap);

这在大多数情况下都能正常运行,但有时会出现超时错误。我知道有超时,因为我在Firebase控制台中看到了。 我怎样才能解决这个问题? 看到我在意向实现功能中返回了一个Promise,否则webservice的响应不会显示给用户。

0 个答案:

没有答案