angular $interval的回调函数与promise

大家都知道,angular的$interval方法为

$interval(fn, delay, [count], [invokeApply], [Pass]);

其返回一个promise,一般用promise.then(success,error,notify)来处理不同的阶段。
比如我用$interval定义一个时钟,测试一下

            var timer = $interval(function(){
                 console.log('inner');
             },2000,2);

             timer.then(success, error, notify);
             function success(){
                 console.log('done');
             }

             function error(){
                 console.log('error');
             }

             function notify(){
                 console.log('everytime');

输出的结果为

clipboard.png
每次都同时输出innereverytime,请问$interval的回调函数fn与promise的notify有什么区别?

阅读 4.9k
1 个回答

这里的notify可能会被调用多次,这里只调用了一次,是因为你$interval的回调函数fn耗时过少。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进