1

Javascript と IBM BPM を知っている人のために、IBM BPM コード this.context.trigger(); で表される以下のトリガーの実行を遅らせる方法を知っておく必要があります。

私のコードでは考慮されていない遅延を除いて、コードは実際に機能しています。

手伝ってくれませんか?どうもありがとう

var _this = this;

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

myFunction();
4

4 に答える 4

4

setTimeout は他の言語のスリープのような同期関数であると誤って考えていると思いますが、javascript では setTimeout は Async であり、10000 の遅延後に最初のパラメーターを呼び出します

あなたはすぐにmyFunction呼び出し、次に毎回呼び出します。機能するために、関数をこのコードに書き直してください。_this.context.trigger10000

function myFunction() {
   this.context.trigger();
}
setTimeout(myFunction.bind(this), 10000);
于 2016-07-27T13:44:04.237 に答える
0

多分これはうまくいくかもしれません

var _this = this;

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

setTimeout(myFunction, 10000);
于 2016-07-27T13:43:11.273 に答える
0

setTimeout関数ではありませんsleep()。呼び出されるたびに実行を一時停止しません。タイムアウト後に実行される特定のコールバックをスケジュールします。正しい使い方は次のとおりです。

function myFunction(){
    // Do something
}

setTimeout(myFunction, 1000) // Call myFunction in 1000 milliseconds
于 2016-07-27T13:46:05.690 に答える