2016-06-30 10 views
0

promiseを返すdefaultメソッドを呼び出すMainServiceがあります。

default: (function() { 
     var d = $q.all([ 
      service1.get(onFirstSuccess), 
      service2.ret(onSecondSuccess) 
     ]); 

     function onFirstSuccess(){} 
     function onSecondSuccess(){} 
}); 

私は別のserviceからこのdefaultメソッドを呼び出しています。

MainService.default().then(function(){ 
    console.log("this is getting called before onSecondSuccess"); 
}); 

$q.allが完了し、then関数は、ここでトリガされているなる前に問題があります。

+0

を返さなければならないことがありますか? [最小限で完全で検証可能なexample_を作成する] – Rayon

+0

Mr.Greenが答えて言ったように、あなたはデフォルト関数から約束を返さないので、あなたの外側の ' 'ハンドラは' d 'の連鎖ではありません。 – Chev

答えて

2
default: (function() { 
    var d = $q.all([ 
     service1.get(onFirstSuccess), 
     service2.ret(onSecondSuccess) 
    ]); 

    function onFirstSuccess(){} 
    function onSecondSuccess(){}   
    return d; 
    }); 

はあなたが実行可能なデモ/スニペットまたは[JSFiddle](https://jsfiddle.net/)を共有することができ、デフォルトの機能でd

関連する問題