【发布时间】:2021-06-13 17:02:40
【问题描述】:
我在 javascript 变量作用域方面不是那么专业,并且遇到了一个问题。
如果我有执行 ajax 调用然后调用我的回调的函数
function doAjaxFunc(param, callback)
{
$.ajax({
type: 'GET',
url: '/some/url/'+param,
success: function(data){
callback(data);
},
dataType:'json'
});
}
function someCallback1(ajaxResp){
// DO someting 1
}
function someCallback2(ajaxResp){
// DO someting 2
}
// exec
doAjaxFunc(1, someCallback1);
doAjaxFunc(2, someCallback2);
由于 ajax 是异步的,并且服务器处理 param=1 的情况可能比 param=2 更长,因此 someCallback1 和 someCallback2 可能不会处理它们的响应。我的意思是回调参数值会以某种方式混合?
如果可能的话,在回答中给出一些解释细节
【问题讨论】:
-
这取决于您如何定义“混合”。每个都将被调用以获取正确的参数,但不能保证执行顺序,因为请求可以按任何顺序完成
-
@charlietfl under mix 我修正值混合,顺序不重要
标签: javascript jquery scope