IBM BPM - Javascript触发器延迟

时间:2016-07-27 13:40:23

标签: javascript ibm-bpm

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

表示。

代码实际上正在工作,除了我的代码中没有考虑的延迟。

你能帮帮我吗? 非常感谢

var _this = this;

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

myFunction();

4 个答案:

答案 0 :(得分:3)

我相信你错误地认为setTimeout是一个同步函数,就像在其他语言中睡眠一样,但在javascript中setTimeout是Async并在延迟10000之后调用它的第一个参数

您在myFunction之外呼叫_this.context.trigger,然后立即拨打10000 function myFunction() { this.context.trigger(); } setTimeout(myFunction.bind(this), 10000); 。将您的函数重写为此代码以便工作。

string path = Server.MapPath("~/Content/" + excelfile.FileName);

答案 1 :(得分:0)

也许这可以起作用

var _this = this;

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

setTimeout(myFunction, 10000);

答案 2 :(得分:0)

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

function myFunction(){
    // Do something
}

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

答案 3 :(得分:0)

如果要设置睡眠状态,请在IBM BPM中直接在服务器脚本块中尝试以下代码。

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

java.lang.Thread.currentThread().sleep(milliseconds);
相关问题