angular.js - angular $interval的回調(diào)函數(shù)與promise
問(wèn)題描述
大家都知道,angular的$interval方法為
$interval(fn, delay, [count], [invokeApply], [Pass]);
其返回一個(gè)promise,一般用promise.then(success,error,notify)來(lái)處理不同的階段。比如我用$interval定義一個(gè)時(shí)鐘,測(cè)試一下
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’);
輸出的結(jié)果為
每次都同時(shí)輸出inner與everytime,請(qǐng)問(wèn)$interval的回調(diào)函數(shù)fn與promise的notify有什么區(qū)別?
問(wèn)題解答
回答1:這里的notify可能會(huì)被調(diào)用多次,這里只調(diào)用了一次,是因?yàn)槟?interval的回調(diào)函數(shù)fn耗時(shí)過(guò)少。
相關(guān)文章:
1. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?2. mysql優(yōu)化 - 關(guān)于mysql分區(qū)3. html5 - 如何實(shí)現(xiàn)帶陰影的不規(guī)則容器?4. javascript - 循環(huán)嵌套多個(gè)promise應(yīng)該如何實(shí)現(xiàn)?5. python - 管道符和ssh傳文件6. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)7. objective-c - iOS開發(fā)支付寶和微信支付完成為什么跳轉(zhuǎn)到了之前開發(fā)的一個(gè)app?8. javascript - 為什么這個(gè)點(diǎn)擊事件需要點(diǎn)擊兩次才有效果9. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤不彈出10. vue.js - vue 打包后 nginx 服務(wù)端API請(qǐng)求跨域問(wèn)題無(wú)法解決。
