问题描述
在开发使用自己的样式并在幕后IBM Watson Assistant
的客户端应用程序时,在超过 webhook 的时间时发现了问题。组成如下:客户端应用向 Watson Assistant
发送请求,助理从那里触发 webhook
,然后触发 IBM Cloud Function
。
在此 link 之后,一个人可以看到在其中一个常见问题解答中指出,时间限制(8 秒)不能延长。是否也包括调用 IBM Cloud Function
的情况?
更新:
async function main(){
try {
const orders = await db.getorders();
if(orders.quantity > 0){
return {data: 'there are some orders'};
} else {
return {data: 'there are no orders'};
}
} catch(err) {
return {error: err.message};
}
}
解决方法
这是正确的,8 秒限制仍然有效。未来很可能会发生变化
,抱歉,如果您已经这样做了,但为什么不从您的云函数返回一个承诺。这样,返回值几乎会在您的 8 秒内立即返回,但处理将变得异步。
例如
function main (args) {
return new Promise((resolve,reject) => {
...
});
}