摘要:承諾用來解決異步的一些問題不會等著定時(shí)器里的執(zhí)行后執(zhí)行,而是直接就執(zhí)行了。失敗了注釋承諾的狀態(tài)一共有三種掛起狀態(tài)成功狀態(tài)失敗狀態(tài)。
Promise(承諾)
//用來解決異步的一些問題 let p = new Promise(function(resolve,refused){ console.log("abc"); //resolve(); setTimeout(function(){ resolve(); },3000); console.log("123"); }); //console.log("123");不會等著定時(shí)器里的執(zhí)行后執(zhí)行,而是直接就執(zhí)行了。 p.then(function(){ console.log("def"); }); function sleep(times){ return new Promise(function(resolve,refused){ setTimeout(function(){ resolve(); },times); }); } let pr = new Promise(function(resolve,refused){ setTimeout(function(){ resolve(); },1000); }); pr.then(function(){ console.log(1); return sleep(2000); }).then(function(){ console.log(2); return sleep(3000); }).then(function(){ console.log(3); return sleep(4000); }).then(function(){ console.log(4); }); let p3 = new Promise(function(resolve,refused){ resolve(); refused("失敗了"); }); p3.then(function(){ console.log("edf"); }).catch(function(e){ console.log(e); }); 注釋:1.Promise(承諾)的狀態(tài)一共有三種:掛起狀態(tài),成功狀態(tài),失敗狀態(tài)。 2.then:只有在成功時(shí)才會執(zhí)行。 3.catch:只有在失敗時(shí)才會執(zhí)行。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84124.html
摘要:理解承諾有兩個(gè)部分。如果異步操作成功,則通過的創(chuàng)建者調(diào)用函數(shù)返回預(yù)期結(jié)果,同樣,如果出現(xiàn)意外錯(cuò)誤,則通過調(diào)用函數(shù)傳遞錯(cuò)誤具體信息。這將與理解對象密切相關(guān)。這個(gè)函數(shù)將創(chuàng)建一個(gè),該將在到秒之間的隨機(jī)數(shù)秒后執(zhí)行或。 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! showImg(https://segmentfault.com/img/bVbkNvF?w=1280&h=...
摘要:理解承諾有兩個(gè)部分。如果異步操作成功,則通過的創(chuàng)建者調(diào)用函數(shù)返回預(yù)期結(jié)果,同樣,如果出現(xiàn)意外錯(cuò)誤,則通過調(diào)用函數(shù)傳遞錯(cuò)誤具體信息。這將與理解對象密切相關(guān)。這個(gè)函數(shù)將創(chuàng)建一個(gè),該將在到秒之間的隨機(jī)數(shù)秒后執(zhí)行或。 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! showImg(https://segmentfault.com/img/bVbkNvF?w=1280&h=...
摘要:就算改變已經(jīng)發(fā)生了,即使再對對象添加回調(diào)函數(shù),也會立即得到這個(gè)結(jié)果。方法接收個(gè)參數(shù),第一個(gè)參數(shù)是狀態(tài)的回調(diào)函數(shù),第二個(gè)參數(shù)可選是狀態(tài)的回調(diào)函數(shù)。簡單來講,就是能把原來的回調(diào)寫法分離出來,在異步操作執(zhí)行完后,用鏈?zhǔn)秸{(diào)用的方式執(zhí)行回調(diào)函數(shù)。 在ECMAScript 6標(biāo)準(zhǔn)中,Promise被正式列為規(guī)范,Promise,字面意思就是許諾,承諾,嘿,聽著是不是很浪漫的說?我們來探究一下這個(gè)浪...
摘要:假設(shè)家具廠在一周后做完了這個(gè)衣柜,并如約送到了張先生家包郵哦,親,這就叫做衣柜,也就是已解決。這樣,整個(gè)異步流程就圓滿完成,無論成功或者失敗,張先生都沒有往里面投入任何額外的時(shí)間成本。 如果想使用 $http 或者其他異步操作, 那 $q 是必須要掌握的概念啦. Lets get started! 如何理解$q, deferred object ? 形象的講解angular中的$q與p...
摘要:使用承諾對象使我們有機(jī)會將異步操作的最終成功或失敗關(guān)聯(lián)到功能無論出于何種原因。例如在上面的示例中函數(shù)解析為值在成功完成時(shí)并在返回值這是另一個(gè)承諾上調(diào)用函數(shù)依此類推等等。這意味著我們只能返回一個(gè)承諾一次。 本文轉(zhuǎn)載自:眾成翻譯譯者:iOSDevLog鏈接:http://www.zcfy.cc/article/3814原文:https://www.fullstackreact.com/30...
閱讀 1458·2021-09-02 19:23
閱讀 1607·2021-08-11 11:19
閱讀 652·2019-08-30 15:55
閱讀 1663·2019-08-30 12:50
閱讀 2252·2019-08-30 11:23
閱讀 2191·2019-08-29 13:13
閱讀 1511·2019-08-28 18:13
閱讀 3350·2019-08-26 11:53