我想要做的是我希望链接承诺只有在承诺解决后才能进入下一个 .then 。这就是我所做的:
使用Javascript:
var checking = false;
var defer = $q.defer();
var promise = defer.promise;
promise.then(function(){
a();
})
.then(function(){
b();
})
.then(function(){
c();
})
if(!checking)
defer.resolve('Ok');
var a = function(){
console.log("function a");
};
var b = function(){
var def = $q.defer();
$ionicPopup.show({
title: 'Click cancel for reject promise and OK for resolve promise.',
buttons: [
{
text: '<b>Cancel</b>',
type: 'button-light',
onTap: function(e) {
def.resolve("resolve");
return;
}
},
{
text: '<b>OK</b>',
type: 'button-positive',
onTap: function(e) {
def.reject("reject");
}
}
]
}).then(function(res) {
});
return def.promise;
};
var c = function(){
console.log("function c");
};
基于上面的代码,我正在尝试做什么,当它到达功能b 时,它只在用户点击确定或时才会进行在ionicPopup取消。
以下是 DEMO 。谢谢你的帮助。