如何使用 MobileFirst Platform 检查离线模式?

How to check offline mode using MobileFirst Platform?

我在 app\common\js\main.js

中使用以下代码
  1. 单击按钮时,我们将 heatbeat 设置为 5 秒,以便每 5 秒 MobileFirst Server 将触发以下两个事件之一:"WORKLIGHT_IS_CONNECTED" 或 "WORKLIGHT_IS_DISCONNECTED"。

  2. 我已经为这两个事件添加了事件侦听器,并且在它们的回调处理程序中我已经将一些信息记录到控制台中。

结果:当我点击按钮时,控制台每 5 秒更新一次(console.trace 来自 worklight.js),但是,我使用 console.log 记录的信息仅在第一次可见。它在后续事件触发器中不可见。

你能告诉我哪里出了问题吗?

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);
}

WORKLIGHT_IS_CONNECTEDWORKLIGHT_IS_DISCONNECTED 只有在服务器状态发生变化时才会触发。

因此,如果您向服务器发送请求,但由于某种原因无法访问,则会触发 _DISCONNCETED 事件。如果您随后发送请求并且服务器被成功 ping 通,则会触发 _CONNECTED 事件。