【发布时间】:2017-02-27 18:19:19
【问题描述】:
我有 JS 函数,它基本上定期调用服务器并尝试它是否仍然在线,我想显示这个函数的执行时间(类似于“ping”)
function preventOfflinePayment() {
new Model('orgis.eet').call("pos_check_server_connection",{},undefined, {
shadow: false,
timeout: 2000
})
.done(function () {
$(".next").show();
$("#eet-status").css('color', 'limegreen');
$("#ping").html("Time: " + something);
})
.fail(function () {
$(".next").hide();
$("#eet-status").css('color', 'red');
});
_.delay(function () {
preventOfflinePayment();
}, 1000);
}
我不知道是否可以计算这个。你能提出一些建议吗?
【问题讨论】:
-
您可以在调用
new Model ...之前使用 MomentJS 获取时间戳(以毫秒或微秒为单位),然后在 done 和失败中获取另一个时间戳,并检查时间差异。 -
我认为您无法正确计算联系服务器需要多长时间。您可能仍会显示通知,即您正在更新状态,但不会显示何时结束。您仍然可以在 jQuery Ajax 中设置
timeout参数来设置最大执行时间。
标签: javascript promise