成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

AngularJS 使用 Promise

voidking / 2154人閱讀

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

如何在 AngularJS 中使用 Promise

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

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

HTML 代碼:





    demo
    
    



    

JS 代碼:

angular.module("myApp", [])
    .controller("myController", ["$scope", "$q", function($scope, $q) {
        $scope.flag = true
        $scope.handle = function() {
            // 創(chuàng)建一個(gè) deferred 對(duì)象
            var deferred = $q.defer()
            // 創(chuàng)建一個(gè) promise 對(duì)象
            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)建的對(duì)象具有哪些方法

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

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

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

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

catch(errorFunc)

finally(callback)

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/86878.html

相關(guān)文章

  • AngularJS中$q的promise使用及鏈?zhǔn)秸{(diào)用傳值問(wèn)題

    摘要:規(guī)范中文是提供的一個(gè)服務(wù)。實(shí)際調(diào)用這個(gè)方法最終在此處加入到隊(duì)列中定義此處調(diào)用進(jìn)入此處是鏈?zhǔn)秸{(diào)用傳參關(guān)鍵,實(shí)際是上一個(gè)的的返回值,所以能知道,如果需要所有的都能取到異步任務(wù)的返回值,就得在的函數(shù)中,將值返回。 promise是什么 這里不解釋promise是什么,因?yàn)槲蚁嘈拍銇?lái)看文章的時(shí)候已經(jīng)知道你什么是promise了。此處有promise規(guī)范。 Promise/A+規(guī)范 中文Prom...

    hiyayiji 評(píng)論0 收藏0
  • angularjs利用ui-route異步加載組件

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

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

    摘要:我們將使用方法創(chuàng)建一個(gè)。我們傳遞一個(gè)布爾類型,這個(gè)就是我們?cè)缦扔懻摰牡膮?shù)。再使用和構(gòu)建博客教程系列的第三部分見(jiàn)。所有的源碼都在上,但是應(yīng)用程序的源碼還沒(méi)有放上去,因?yàn)槲覀冞€沒(méi)有完成它,等到第三部分寫完以后再放全部的源碼到上。 注:該文作者是 John Kevin M. Basco,原文地址是 Building a blog using Flask and AngularJS P...

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

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

    MkkHou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<