0

当用户使用操作 sdk 提供一些原始输入时,我试图调用一个 http post api,但我收到错误“操作现在没有响应。请尽快重试”,我的代码如下

if (assistant.getRawInput() == 'test') { 
      request({
        url: url,
        json: true
      }, function (error, response, body) {
          if (error) {          
            assistant.tell('There is some error!');
          }
          else {         
             assistant.tell('we got the response!');
          }
        }
      )

代码没有问题,因为它可以单独使用节点命令完美运行,我是谷歌操作的新手,请协助

4

2 回答 2

0

完成请求需要多长时间?操作需要在大约 5 秒内完成,如果您调用的 URL 占用了大部分时间,则操作可能会超时。

于 2017-02-24T04:55:22.623 回答
0

我很确定它是如何在请求的回调处理程序中引用助手变量的。尝试在执行回调时对助手变量进行控制台记录(您可以在该函数的谷歌云日志中查看控制台日志),您应该会看到它未定义。尝试使用 ES6 粗箭头语法来访问辅助变量,例如

if (assistant.getRawInput() == 'test') { 
      request({
        url: url,
        json: true
      }, (error, response, body) => {
          if (error) {          
            assistant.tell('There is some error!');
          }
          else {         
             assistant.tell('we got the response!');
          }
        }
      )

于 2017-10-16T13:30:14.273 回答