91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angularjs定時任務的設置與清除示例

發布時間:2020-10-09 04:15:27 來源:腳本之家 閱讀:225 作者:heartbeaty 欄目:web開發

人們似乎常常將AngularJS中的$timeOut()  $interval()函數看做是一個內置的、無須在意的函數。但是,如果你忘記了$timeOut()$interval()的回調函數將會造成非常不好的影響,你可能會因此遇到代碼莫名其妙的出現問題,或者無端拋出一個錯誤甚至是一遍一遍的重復對的你的服務器進行$http請求這些詭異的情形。管理好你的$timeOut/$interval定時器的小技巧就是在$destory事件中將它們取消。

和JavaScript中原生的setTimeout()以及setInterval()函數不同,AngularJS中的$timeOut()函數會返回一個promise。和其他的promise一樣,你可以綁定$timeOut的resolved和rejected時間。然而更重要的是,你可以通過將這個promise傳遞給$timeOut.cancel()方法來取消掉潛在的定時器。

設置定時任務,給定時任務起一個名字time_upd,為的是方便清理的時候直接調用名稱。

var timeout_upd = $interval($scope.upd_data ,6000); 

注意:設置的時候$interval(fn ,time);第一個參數fn 不能寫“()”,只能寫$scope.方法名稱。第二個參數是定時執行的時間間隔,單位為毫秒。

清除定時任務,AngularJS將會在scope中觸發$destory事件。這讓我們可以有機會來cancel任何潛在的定時器。

$scope.$on('$destroy',function(){ 
    $interval.cancel(timeout_upd); 
  }) 

我的頁面是這種格式的,如下圖所示。angularjs在“實時數據監測”這個模塊設置了一個定時任務,當我點擊菜單欄到別的頁面時,默認的這個定時任務還在執行,占用很多資源。所以必須得清除這個定時任務,原生的清除window.clearInterval(timeout_upd);是不管用的,必須用angularjs自帶的清除方法,如上代碼所示。

angularjs定時任務的設置與清除示例

注意:angularjs中設置了定時任務之后,必須清除定時任務,不然angularjs會在離開這個controller后,仍然會執行這個定時任務。

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉林省| 田东县| 合肥市| 花垣县| 通化县| 固镇县| 崇文区| 通渭县| 诏安县| 和田市| 泌阳县| 罗城| 阳朔县| 繁昌县| 宜川县| 门头沟区| 阜阳市| 四会市| 旺苍县| 永昌县| 罗田县| 思茅市| 那曲县| 思南县| 类乌齐县| 宜君县| 岑巩县| 浦县| 朝阳市| 江阴市| 依安县| 高邑县| 大姚县| 丰顺县| 五原县| 岑溪市| 清水河县| 姚安县| 赤峰市| 宜兰县| 辰溪县|