如何使用longPolling方法:
function getNewMessagesLong() {
pollingFishingStarts();
$request = $.ajax({
type: 'POST',
url: "listenMessageLong",
data: lastIncomingMessageLongJson,
dataType: 'json',
success: function(data) {
}, complete: getNewMessagesLong})
}
完成后运行另一种方法?:
function pollingFishingEnds() {
document.getElementById("fishing-end").src = "resources/img/fishing-end.png";
document.getElementById("fishing-start").src = "resources/img/fishing-start-empty.png";
}
答案 0 :(得分:1)
通过您发布的示例,您可以简单地执行类似的操作,添加一个匿名函数来调用您的"结束"方法AND重新启动您的轮询方法:
function getNewMessagesLong() {
pollingFishingStarts();
$request = $.ajax({
type: 'POST',
url: "listenMessageLong",
data: lastIncomingMessageLongJson,
dataType: 'json',
success: function(data) {
},
complete: function() {
getNewMessagesLong();
pollingFishingEnds();
}
});
}
您还可以更改为window.setInterval()
长轮询范例,该范例允许您使用complete
选项设置实际的最终方法,而不是将其用于长轮询。
我在这里假设你要打电话给"结束"第一轮完成后的州代码。否则,您的轮询实际上没有结束,除非您有一些服务器消息要终止,在这种情况下您需要发布该代码以获取更多信息。