我正在使用API在Google上进行操作,并且正在使用请求承诺来构建它。但是在调用api时,我计算出平均时间为0.5秒,因此我试图等待0.5秒,但是在部署此代码时出现错误
.then( async(parseBody)=>{
for(var i=0;i<parseBody.passengers.length;i++){
data.push(parseBody.passengers[i].current_status);
}
console.log(data);
// sleep.sleep(0.5);
await sleep(2000)
conv.ask(`Ticket's current status is ${data}`);
,错误为32:33 error Parsing error: Unexpected token =>
请帮我找到一个更好的解决方案,我是第一次使用API
答案 0 :(得分:0)
使用promises可以连接更多.then()
因此,您可以执行以下操作:
.then( (data) => {
//do stuff with data
return data;
})
.then( (data) => {
//Here data is what you returned in then() before
//do stuff with data
});
顺便说一句,您得到的错误是因为您在代码中出现语法错误,应该是:
.then( async(parseBody)=>{
for(var i=0;i<parseBody.passengers.length;i++){
data.push(parseBody.passengers[i].current_status);
}
console.log(data);
// sleep.sleep(0.5);
await sleep(2000)
conv.ask(`Ticket's current status is ${data}`);
});
答案 1 :(得分:0)
您表示要部署此“使用Firebase”,并且可能是其默认配置环境。此默认配置用于节点6,但是您在代码中使用“异步”,这在节点8中可用。
您可以将项目切换到Node 8,该节点仍处于对Firebase的Beta支持中。在package.json
文件中,您可以将此属性添加到JSON对象:
"engines": {"node": "8"}
或者,您可以尝试在不进行异步/等待的情况下重写它。我尚未对其进行测试(主要是因为我不知道您使用的是什么sleep()
函数),但更像是这样:
.then( parseBody =>{
for(var i=0;i<parseBody.passengers.length;i++){
data.push(parseBody.passengers[i].current_status);
}
console.log(data);
return sleep(2000);
})
.then( () => {
conv.ask(`Ticket's current status is ${data}`);
});
(请介意,您根本不知道为什么要等待。要返回结果似乎很奇怪,但是在那之后的一段时间内结果无效。)< / p>