伪代码:when(x, y).then(z);
其中 y 是对进行 ajax 调用的函数的调用,如下所示:
function y(......){
var p = $.ajax(...........);
p.done(callMeFirst);
return p;
}
现在根据我的理解,鉴于 x 已经解决,那么在成功的 ajax 调用 'callMeFirst' 应该首先触发,然后是 'z'
但会发生的是'z'先触发,然后'callMeFIrst'
我不明白为什么会发生这种情况或如何解决它,因为我们所有的 ajax 调用都通过“y”运行,并且在任何其他回调处理它之前需要它的调用后处理。
蒂亚罗伯