国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

AngularJs定時器$interval 和 $timeout詳解

2024-05-06 15:16:46
字體:
來源:轉載
供稿:網友

$interval

window.setInterval的Angular包裝形式。Fn是每次延遲時間后被執行的函數。

間隔函數的返回值是一個承諾。這個承諾將在每個間隔刻度被通知,并且到達規定迭代次數后被取消,如果迭代次數未定義,則無限制的執行。通知的值將是運行的迭代次數。取消一個間隔,調用$intreval.cancel(promise)。

備注:當你執行完這項服務后應該把它銷毀。特別是當controller或者directive元素被銷毀時而$interval未被銷毀。你應該考慮到在適當的時候取消interval事件。

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

fn:一個將被反復執行的函數。

delay:每次調用的間隔毫秒數值。

count:循環次數的數值,如果沒設置,則無限制循環。

invokeApply:如果設置為false,則避開臟值檢查,否則將調用$apply。

Pass:函數的附加參數。

方法:

cancel(promise);

取消與承諾相關聯的任務。

promise:$interval函數的返回值。

使用代碼:

 (function () {  angular.module("Demo", [])  .controller("testCtrl",["$interval",testCtrl]);  function testCtrl($interval){   var toDo = function () {     console.log("Hello World");   };   $interval(toDo, 3000, 10);  }; }());

$timeout

window.setTimeout的Angular包裝形式。Fn函數包裝成一個try/catch塊,代表$exceptionHandler服務里的任何異常。

timeout函數的返回值是一個promise,當到達設置的超時時間時,這個承諾將被解決,并執行timeout函數。

需要取消timeout,需要調用$timeout.cancel(promise);

使用: $timeout(fn,[delay],[invokeApply]);

fn:一個將被延遲執行的函數。

delay:延遲的時間(毫秒)。

invokeApply:如果設置為false,則跳過臟值檢測,否則將調用$apply。

方法:

cancel(promise);

取消與承諾相關聯的任務。這個的結果是,承諾將被以摒棄方式來解決。

promise:$timeout函數返回的承諾。

 (function () {  angular.module("Demo", [])  .controller("testCtrl",["$timeout",testCtrl]);  function testCtrl($timeout){   var toDo = function () {     console.log("Hello World");   };   $timeout(toDo,5000)  }; }());

大致使用方法可以和原生js的setInterval和setTimeout那樣使用,一些使用小技巧可以用在瀏覽器單線程的事件執行方面... 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 高要市| 石狮市| 崇义县| 淮阳县| 壤塘县| 保康县| 容城县| 靖西县| 喀喇| 文山县| 微博| 鄯善县| 荣昌县| 通江县| 景泰县| 吉林省| 西昌市| 南雄市| 安乡县| 武平县| 家居| 安顺市| 盐池县| 鄂州市| 和平县| 诏安县| 昭通市| 行唐县| 崇礼县| 平安县| 安康市| 绥德县| 城固县| 衡阳县| 靖宇县| 东源县| 红安县| 景德镇市| 绿春县| 万山特区| 简阳市|