Javascript JS事件每秒触发一次,但在内部执行一次操作

Javascript JS事件每秒触发一次,但在内部执行一次操作,javascript,json,timing,Javascript,Json,Timing,函数Refresh();每秒触发一次,这将检查变量EVENTDATA(json)在flash streamobject中的更改,当streamobject更改时,它必须加载一次,而不是每秒。 如何正确处理此问题???实际上,您的代码应该可以工作:测试StreamFlash是否与EVENTDATA中的新数据不同,应该使其仅在数据更改时运行 我会稍微简化代码,但如果它仍然不起作用,请尝试将StreamFlash数据记录在EVENTDATA中,以查看它是否确实发生了更改 var StreamFlas

函数Refresh();每秒触发一次,这将检查变量EVENTDATA(json)在flash streamobject中的更改,当streamobject更改时,它必须加载一次,而不是每秒。

如何正确处理此问题???

实际上,您的代码应该可以工作:测试
StreamFlash
是否与
EVENTDATA
中的新数据不同,应该使其仅在数据更改时运行

我会稍微简化代码,但如果它仍然不起作用,请尝试将
StreamFlash
数据记录在
EVENTDATA
中,以查看它是否确实发生了更改

var StreamFlash = "";

function Refresh() {
    if (EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash) {
        if (StreamFlash == "") {
            $('td.playercontainer').html(EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash);
            StreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash;
        }
        if (StreamFlash != EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash) {
            console.log('Load');
            $('td.playercontainer').html(EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash);
            StreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash;
        }
    }
    setTimeout(Refresh, 1000);
}
var StreamFlash = "";

function Refresh() {
    var remoteStreamFlash = EVENTDATA.events[RefreshEventsCurrentID].data.StreamFlash;
    if (remoteStreamFlash && StreamFlash != remoteStreamFlash) {
        $('td.playercontainer').html(remoteStreamFlash);
        StreamFlash = remoteStreamFlash;
    }
    setTimeout(Refresh, 1000);
}