Javascript 使用.then和ajax调用
我有一个ajax调用:Javascript 使用.then和ajax调用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax调用: p.data = function(){ return $.ajax({ url: '/data', type: 'POST' }).done(function(data){ console.log('done'); //do something with data here p.dummyDataVar = data[0]; }) .fail(functio
p.data = function(){
return $.ajax({
url: '/data',
type: 'POST'
}).done(function(data){
console.log('done');
//do something with data here
p.dummyDataVar = data[0];
})
.fail(function(){
console.log('fail');
}).
always(function(){
console.log('always');
});
};
这被称为:
this.data()
.then(p.mySecondFunction);
我希望调用数据,然后在完成时使用该数据分配一些变量,然后在完成所有操作后,我希望执行mySecondFunction。但是在上面的代码中,第二个函数发生在ajax调用之前
此外,我希望无论ajax调用是否失败,都能调用mySecondFunction。您可以使用它。它已经在你的代码中了
添加在解析或拒绝延迟对象时要调用的处理程序
在代码中看不到错误。当您说以前发生过这种情况时,您怎么知道呢?您是否尝试过
$.ajax()。然后?p.data().always(fn)
?谢谢,我可以返回ajax调用,而不使用.always()并声明.always on方法吗。this.data().always()。即使在data方法中,done也是在ajax调用本身上声明的。我想您是在尝试这样做吗?
p.data = function () {
return $.ajax({
url: '/data',
type: 'POST'
}).done(function (data) {
console.log('done');
//do something with data here
p.dummyDataVar = data[0];
})
.fail(function () {
console.log('fail');
}).always(function () {
//Call whatever you want
});
};