我正在尝试理解jQuery中的when
函数和延迟对象。
$.when($.getJSON('/echo/json', function () {
console.log('sucess');
}, function () {
console.log('error');
})).then(console.log('get JSON ready!'));
此示例返回:
get JSON ready!
sucess
...但我想首先实现成功回调:
sucess
get JSON ready!
我该怎么做?
答案 0 :(得分:10)
您忘记了函数包装器 - 您的代码立即调用console.log
而不是传递回调函数:
.then(console.log('get JSON ready!'));
应该是:
.then(function() {
console.log('get JSON ready!');
});
答案 1 :(得分:1)
尝试使用.done(...)代替.then(...)。 jQuery文档中有一些例子。