我正在使用Angularjs 1.4。假设我有$ interval返回的承诺。
var promise = $interval(function () {
}, 1000);
我想利用这个承诺。
promise.then(???)
但是,我不知道这个返回的承诺有哪些参数可用。我无法在the documentation中找到答案。
此退回承诺的参数是什么?
答案 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
次迭代后已解决,如果count
为then
则无限期运行 没有定义的。通知的值将是 已经运行的迭代。
所以你必须为{{1}}方法定义一个 notifyCallback 参数来处理它;这个回调的参数将是迭代次数。