【问题标题】:How can i call parent promise from child promise?如何从子承诺中调用父母承诺?
【发布时间】:2018-03-21 11:33:59
【问题描述】:

我有这样的功能:

function promiseCall() {

  //Parent Promise
  ParentPromise({
    ...code here...
  }).then(function() {


    //Child Promise
        ChildPromise({
          ..code here...
        }).then(function(response) {
         var result = response.result;
           if(result){
             // I want to call again Parent Promise from here
           }
        });

});

};

我调用 promiseCall 函数然后执行 Parent Promise 然后执行子 Promise。根据条件执行子承诺后,我想再次调用父承诺。怎么可能?

【问题讨论】:

    标签: javascript ecmascript-6 ecmascript-5


    【解决方案1】:

    你可以递归地做:

    function promiseCall(arg) {
        return ParentPromise(...).then(function() {
            return ChildPromise(...);
        }).then(function(response) {
            var result = response.result.items;
            var newArg = ... ;
            var finalReturn = '...';
            return result ? promiseCall(newArg) :  finalReturn;
        }); 
    }
    
    var arg = ...;
    promiseCall(arg).then(function(res) {
        console.log('finalReturn: ', res);
    });
    

    【讨论】:

      猜你喜欢
      • 2019-09-29
      • 1970-01-01
      • 2016-09-02
      • 2016-06-15
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 2017-08-12
      相关资源
      最近更新 更多