IBM BPM - Javascript 触发延迟

IBM BPM - Javascript trigger delay

对于了解Javascript和IBM BPM的人,我需要知道如何延迟执行下面的触发器,由IBM BPM代码this.context.trigger();表示。

除了我的代码中没有考虑到的延迟之外,代码确实有效。

你能帮帮我吗? 非常感谢

var _this = this;

function myFunction() {
setTimeout(myFunction, 10000);
_this.context.trigger();
}

myFunction();

也许这可行

var _this = this;

function myFunction() {
    _this.context.trigger();
}

setTimeout(myFunction, 10000);

我相信你误以为 setTimeout 是一个同步函数,就像其他语言中的 sleep 一样,但在 javascript 中,setTimeout 是 Async 并在延迟 10000

后调用它的第一个参数

你正在调用 myFunction,在外面调用 _this.context.trigger,然后每隔 10000 调用一次。将您的函数重写为这段代码以便工作。

function myFunction() {
   this.context.trigger();
}
setTimeout(myFunction.bind(this), 10000);

setTimeout 不是 sleep() 函数。它不会在调用时暂停执行。它安排给定的回调在超时后执行。正确的用法是:

function myFunction(){
    // Do something
}

setTimeout(myFunction, 1000) // Call myFunction in 1000 milliseconds

在 IBM BPM 中如果您想设置休眠,请直接在服务器脚本块中尝试以下代码。

java.lang.Thread.sleep(milliseconds); (or)

java.lang.Thread.currentThread().sleep(milliseconds);