1

app\common\js\main.js で以下のコードを使用しています

  1. ボタンをクリックすると、5 秒ごとに MobileFirst Server が 2 つのイベント (「WORKLIGHT_IS_CONNECTED」または「WORKLIGHT_IS_DISCONNECTED」) のいずれかをトリガーするように、ヒートビートを 5 秒に設定します。

  2. これら 2 つのイベントのイベント リスナーを追加し、それらのコールバック ハンドラーでいくつかの情報をコンソールに記録しました。

結果: ボタンをクリックすると、コンソールは 5 秒ごとに更新されます (worklight.js からの console.trace の一部)。後続のイベント トリガーでは表示されません。

何が問題なのか教えていただけますか?

function wlCommonInit(){
    document.addEventListener(WL.Events.WORKLIGHT_IS_CONNECTED, connectDetected, false); 
    document.addEventListener(WL.Events.WORKLIGHT_IS_DISCONNECTED, disconnectDetected , false);
}

function disconnectDetected(){
    var output = new Date() + "<hr />disconnectDetected";
    console.log(output);
}

function connectDetected(){
    var output = new Date() + "<hr />connectDetected";  
    console.log(output);
}

function setHeartBeatInterval(interval){

    WL.Client.setHeartBeatInterval(interval);
}
4

1 に答える 1

0

WORKLIGHT_IS_CONNECTEDWORKLIGHT_IS_DISCONNECTEDサーバーの状態が変化した場合にのみ起動されます。

したがって、リクエストをサーバーに送信しているときに何らかの理由で到達できない場合、_DISCONNCETED イベントが発生します。次にリクエストを送信し、サーバーへの ping が成功すると、_CONNECTED イベントが発生します。

于 2015-05-09T15:01:50.407 に答える