摘要:異步應該是目前最簡單的異步方案了中新增了兩個關鍵詞。可以聲明一個異步函數,此函數需要返回一個對象。可以等待一個對象,并拿到結果。
async/await異步
先看一下同步狀態下 同步Async/Await應該是目前最簡單的異步方案了,ES7 中新增了 async/await 兩個關鍵詞。async 可以聲明一個異步函數,此函數需要返回一個 Promise 對象。await 可以等待一個 Promise 對象 resolve,并拿到結果。 一個栗子:
console.log(1); console.log(2); setTimeout(function(){ console.log(3) },3000); console.log(4); console.log(5)
上邊的打印結果大家想必都知道,這是同步狀態下的執行順序
在看一個例子function p1(){ return new Promise(function(resolve,reject){ setTimeout(function(){ console.log("p1_2000"); resolve() },3000) }) } function p2(){ return new Promise(function(resolve,reject){ setTimeout(function(){ console.log("p2_2000"); resolve() },2000) }) } console.log("start"); p1(); p2(); console.log(end) //start //end //p2_2000 //p1_3000
咱們想做的是讓他按這個順序執行下來咱們就要用到async、await
看代碼
function p1(){ return new Promise(function(resolve,reject){ setTimeout(function(){ console.log("p1_3000"); resolve() },3000) }) } function p2(){ return new Promise(function(resolve,reject){ setTimeout(function(){ console.log("p2_2000"); resolve() },2000) }) } //await 只能出現在異步函數里 async function shi(){ console.log("start") await p1(); await p2(); console.log("end") } p3=shi(); p3.then(function(){ console.log("結束") })
上邊函數執行下來就是按照那個順序下來的,大家記住await 只能出現在異步函數里!配套使用
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84146.html
摘要:但是的的出現碉堡的新朋友,我們可以輕松寫出同步風格的代碼同時又擁有異步機制,可以說是目前最簡單,最優雅,最佳的解決方案了。不敢說這一定是終極的解決方案,但確實是目前最優雅的解決方案 一、異步解決方案的進化史 JavaScript的異步操作一直是個麻煩事,所以不斷有人提出它的各種解決方案。可以追溯到最早的回調函數(ajax老朋友),到Promise(不算新的朋友),再到ES6的Gener...
摘要:是基于實現的,它不能用于普通的回調函數。憂慮對于,也許你有一些合理的懷疑它使得異步代碼不再明顯我們已經習慣了用回調函數或者來識別異步代碼,我們可能需要花數個星期去習慣新的標志。 譯者按: Node.js的異步編程方式有效提高了應用性能;然而回調地獄卻讓人望而生畏,Promise讓我們告別回調函數,寫出更優雅的異步代碼;在實踐過程中,卻發現Promise并不完美;技術進步是無止境的,這時...
摘要:使用時也要注意范圍和層級。服務端配置服務端使用,最簡單的方式是通過。云引擎是推出的服務器端運行環境,支持和環境,功能強大而且目前免費,結合,使原本復雜的開發工作變得簡單高效。目前也支持和海外節點,輕松滿足你的業務需求。 構建一個應用程序總是會面對異步調用,不論是在 Web 前端界面,還是 Node.js 服務端都是如此,JavaScript 里面處理異步調用一直是非常惡心的一件事情。以...
摘要:下面將簡單地描述一下一些日常常用場景加深對認識最普遍的異步操作就是請求我們也可以用來簡單模擬異步請求。其中是必須的如果省略了程序就不能按預期得到結果。 前言 async/await 語法用看起來像寫同步代碼的方式來優雅地處理異步操作,但是我們也要明白一點,異步操作本來帶有復雜性,像寫同步代碼的方式并不能降低本質上的復雜性,所以在處理上我們要更加謹慎, 稍有不慎就可能寫出不是預期執行的代...
摘要:下面將簡單地描述一下一些日常常用場景加深對認識最普遍的異步操作就是請求我們也可以用來簡單模擬異步請求。其中是必須的如果省略了程序就不能按預期得到結果。 前言 async/await 語法用看起來像寫同步代碼的方式來優雅地處理異步操作,但是我們也要明白一點,異步操作本來帶有復雜性,像寫同步代碼的方式并不能降低本質上的復雜性,所以在處理上我們要更加謹慎, 稍有不慎就可能寫出不是預期執行的代...
閱讀 2230·2021-11-22 13:52
閱讀 3870·2021-11-10 11:36
閱讀 1415·2021-09-24 09:47
閱讀 1094·2019-08-29 13:54
閱讀 3368·2019-08-29 13:46
閱讀 1948·2019-08-29 12:16
閱讀 2116·2019-08-26 13:26
閱讀 3475·2019-08-23 17:10