如何确保正在调用回调代码。
确保回调在检查 gotMinPremium 或 gotMaxPremium 之前发出。
我不想使用 setTimeOut 函数。
setTimeOut 函数使脚本始终运行。还有其他方法吗?
谢谢
如何确保正在调用回调代码。
确保回调在检查 gotMinPremium 或 gotMaxPremium 之前发出。
我不想使用 setTimeOut 函数。
setTimeOut 函数使脚本始终运行。还有其他方法吗?
谢谢
您的setTimeout
调用不起作用,因为调用setTimeout
不会阻止它执行之后的所有其他内容,它只是注册一个要在将来某个时间运行的代码块,然后立即继续执行以下代码setTimeout
。
使用延迟对象,您可以启动两个 AJAX 调用并等待它们都完成,然后再继续:
var getMin = $.post(...);
var getMax = $.post(...);
$.when(getMin, getMax).done(function(d1, d2) {
// d1 and d2 will contain the result of the two AJAX calls
MinPremium = d1.MinPremium;
MaxPremium = d2.MaxPremium;
...
});
请注意,这将始终进行两个 AJAX 调用(并使它们并行进行。或者:
$.post(...).done(function(data) {
minPremium = data.MinPremium;
// handle your minimum test here
...
$.post(...).done(function(data) {
maxPremium = data.MaxPremium;
// handle maximum test here
...
});
});
FWIW,有什么理由不能让一个 AJAX 调用返回两个值吗?