成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

AngularJS 使用 Promise

voidking / 2109人閱讀

摘要:如何在中使用要在中使用要使用的內(nèi)置服務。用來拒絕可以為字符串對象等。獲取的執(zhí)行狀態(tài)然后使用這個函數(shù)來傳遞它。無論是成功了還是失敗了當結(jié)果可用之后都會立即異步調(diào)用或者在被執(zhí)行或者拒絕之前可能會被調(diào)用到多次以提供過程狀態(tài)的提示。

如何在 AngularJS 中使用 Promise

要在 AngularJS 中使用 Promise, 要使用 AngularJS 的內(nèi)置服務 $q。

我們可以先使用 $qdefer() 方法創(chuàng)建一個 deferred 對象, 然后通過 deferred 對象的 promise 屬性, 將這個對象變成一個 promise 對象; 這個 deferred 對象還提供了三個方法, 分別是 resolve(), reject(), notify()。

HTML 代碼:





    demo
    
    



    

JS 代碼:

angular.module("myApp", [])
    .controller("myController", ["$scope", "$q", function($scope, $q) {
        $scope.flag = true
        $scope.handle = function() {
            // 創(chuàng)建一個 deferred 對象
            var deferred = $q.defer()
            // 創(chuàng)建一個 promise 對象
            var promise = deferred.promise

            promise.then(function(result) {
                alert("Success: " + result)
            }, function(error) {
                alert("Fail: " + error)
            })

            if ($scope.flag) {
                deferred.resolve("you are lucky!")
            } else {
                deferred.reject("sorry, it lost!")
            }
        }
    }])

$qdefer() 方法創(chuàng)建的對象具有哪些方法

resolve(value): 用來執(zhí)行 deferred promise, value 可以為字符串, 對象等。

reject(value): 用來拒絕 deferred promise, value 可以為字符串, 對象等。

notify(value): 獲取 deferred promise 的執(zhí)行狀態(tài), 然后使用這個函數(shù)來傳遞它。

then(successFunc, errorFunc, notifyFunc): 無論 promise 是成功了還是失敗了, 當結(jié)果可用之后, then 都會立即異步調(diào)用 successFunc, 或者 errorFunc, 在 promise 被執(zhí)行或者拒絕之前, notifyFunc 可能會被調(diào)用0 到 多次, 以提供過程狀態(tài)的提示。

catch(errorFunc)

finally(callback)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/86878.html

相關(guān)文章

  • AngularJS中$q的promise使用及鏈式調(diào)用傳值問題

    摘要:規(guī)范中文是提供的一個服務。實際調(diào)用這個方法最終在此處加入到隊列中定義此處調(diào)用進入此處是鏈式調(diào)用傳參關(guān)鍵,實際是上一個的的返回值,所以能知道,如果需要所有的都能取到異步任務的返回值,就得在的函數(shù)中,將值返回。 promise是什么 這里不解釋promise是什么,因為我相信你來看文章的時候已經(jīng)知道你什么是promise了。此處有promise規(guī)范。 Promise/A+規(guī)范 中文Prom...

    hiyayiji 評論0 收藏0
  • angularjs利用ui-route異步加載組件

    摘要:異步加載各個組件就很有必要。在這里我就以為框架來進行異步加載說明。而為了將服務進行異步加載我們不能用普通的或者。而需要調(diào)用或者如果采用進行編譯打包的話就需要的支持,這樣可以對進行拆分打包,達到異步加載的目的。 ui-route相比于angularjs的原生視圖路由更好地支持了路由嵌套,狀態(tài)轉(zhuǎn)移等等。隨著視圖不斷增加,打包的js體積也會越來越大,比如我在應用里面用到了wangeditor...

    lunaticf 評論0 收藏0
  • 使用 Flask 和 AngularJS 構(gòu)建博客 - 2

    摘要:我們將使用方法創(chuàng)建一個。我們傳遞一個布爾類型,這個就是我們早先討論的的參數(shù)。再使用和構(gòu)建博客教程系列的第三部分見。所有的源碼都在上,但是應用程序的源碼還沒有放上去,因為我們還沒有完成它,等到第三部分寫完以后再放全部的源碼到上。 注:該文作者是 John Kevin M. Basco,原文地址是 Building a blog using Flask and AngularJS P...

    awokezhou 評論0 收藏0
  • 使用 AVOS Cloud JavaScript SDK 和 AngularJS 創(chuàng)建 一個 Tod

    摘要:注意并不是一個的值組合,比如有方法,所以不能這樣獲取屬性。需要創(chuàng)建一個自己的應用,并在初始化的時候替換掉里的。關(guān)于通知發(fā)生變化除了通過,還可以借助或者。 為什么選擇這兩個庫做 Todo AVOS Cloud JavaScript SDK 負責把數(shù)據(jù)存儲在服務器,提供了 數(shù)據(jù)查詢,保存,更新等常用操作的方法。AngularJS 對于增刪改查類型的應用場景非常合適。這塊主要用到了 Ang...

    MkkHou 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<