IBM Watson Assistnat:在将 Webhook 发送到 Cloud Function 时延长 Webhook 的时间

问题描述

在开发使用自己的样式并在幕后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) => {
      ...
    });
}