离子 - 链接承诺只有在承诺解决时才会进行

时间:2016-02-12 02:33:05

标签: javascript angularjs ionic-framework promise

我想要做的是我希望链接承诺只有在承诺解决后才能进入下一个 .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 。谢谢你的帮助。

0 个答案:

没有答案