在angularjs中$ interval返回的promise的参数是什么?

时间:2015-08-07 12:58:31

标签: javascript angularjs promise setinterval angular-promise

我正在使用Angularjs 1.4。假设我有$ interval返回的承诺。

var promise = $interval(function () {
}, 1000);

我想利用这个承诺。

promise.then(???)

但是,我不知道这个返回的承诺有哪些参数可用。我无法在the documentation中找到答案。

此退回承诺的参数是什么?

2 个答案:

答案 0 :(得分:2)

承诺的then方法的参数是:

then(successCallback, errorCallback, notifyCallback)

有关详细信息,请see the documentation(查找:“承诺api”)

使用的回调及其调用方式将取决于为promise对象提供的函数。在$interval的情况下,将按如下方式调用回调:

successCallback:在间隔函数完成时调用(假设它已设置为过期)

errorCallback:出现错误时调用

notifyCallback:使用间隔计时器的每个刻度调用

示例

var promise = $interval(function () 
  {
  }, 1000, 10);

promise.then(function (){
    //On Success: called after 10 seconds (10 x 1000ms).
}, function (){
    //On Error: called when an error occurs.
}, function (){
    //On Notify: called every second (1000ms).
});

答案 1 :(得分:2)

the docs中说:

  

此承诺将在间隔的每个刻度上通知,并且将会   count次迭代后已解决,如果countthen则无限期运行   没有定义的。通知的值将是   已经运行的迭代。

所以你必须为{{1}}方法定义一个 notifyCallback 参数来处理它;这个回调的参数将是迭代次数。