單例模式,promise與async/await
- 複習了apply ,argument以及閉包在單例模式中的應用
閉包在其中充當了儲存器的作用,用來判斷有無例項 - promise物件的後代還是promise,成功resolve,失敗reject,呼叫成功then,失敗則是catch
配合async/await簡直了。實現對回撥資料的等待、(非同步中的同步實現)
async/await中的await使用的順序很重要(因為實現同步),要想實現非同步操作後同步計算輸出,可以使用以下程式碼
async function add1(x) {
var a = resolveAfter2Seconds(20)
var b = resolveAfter2Seconds(20)
return x + await a + await b
}
add1(10).then(v => {
console.log(v) // 2秒後輸出50
})
async function add2(x) {
var a = await resolveAfter2Seconds(20)
var b = await resolveAfter2Seconds(30)
return x + a + b
}
add2(10).then(v => {
console.log(v) // 4秒後輸出60
})
async function add3(x) {
let result = await Promise.all([resolveAfter2Seconds(30),resolveAfter2Seconds(30)]) //
return result.reduce((a,b)=>a+b)+x
}
add3(10).then(v => {
console.log(v) // 2秒後輸出70
})
add1中直接計算然後在將結果進行await相加,實現先非同步獲取結果,同步輸出;和add3使用的Promise.all方法一樣(每個promise都先進行非同步操作,後等到結果都成功後一起輸出)
相關文章
- Promise與async/await與GeneratorPromiseAI
- [Javascript] Promise question with async awaitJavaScriptPromiseAI
- async await函式效能與Promise併發AI函式Promise
- 與Promise血脈相連的async/awaitPromiseAI
- Async/Await 代替 Promise.all()AIPromise
- Promise和async await詳解PromiseAI
- 理解非同步之美:Promise 與 async await(二)非同步PromiseAI
- 理解非同步之美:Promise與async await(一)非同步PromiseAI
- async/await 和 promise/promise.all 的示例AIPromise
- 重構:從Promise到Async/AwaitPromiseAI
- Promise && async/await的理解和用法PromiseAI
- promise、async、await非同步原理與執行順序PromiseAI非同步
- Async/Await替代Promise的6個理由AIPromise
- 面試向:Async/Await 代替 Promise.all()面試AIPromise
- promise以及async、await學習總結PromiseAI
- 理解koa2 之 async + await + promiseAIPromise
- Promise, Generator, async/await的漸進理解PromiseAI
- 【譯】Async/Await(三)——Aysnc/Await模式AI模式
- [完結篇] - 理解非同步之美 --- promise與async await (三)非同步PromiseAI
- async await、Promise、setTimeout執行順序AIPromise
- ES6 Promise 和 Async/await的使用PromiseAI
- Generator與Promise的完美結合 -- async await函式誕生記PromiseAI函式
- 深入理解 promise、generator+co、async/await 用法PromiseAI
- 回撥函式到promise再到理解async/await函式PromiseAI
- Promise(es6)和await,async(es7)PromiseAI
- 細說 async/await 相較於 Promise 的優勢AIPromise
- JS非同步之callback、promise、async+await簡介JS非同步PromiseAI
- 20分鐘帶你掌握JavaScript Promise和 Async/AwaitJavaScriptPromiseAI
- 結合async await,動態設定Promise.all()AIPromise
- JS非同步程式設計 (2) – Promise、Generator、async/awaitJS非同步程式設計PromiseAI
- node傳統讀取檔案和promise,async await,PromiseAI
- JavaScript 的 Async/Await 完勝 Promise 的六個理由JavaScriptAIPromise
- generator函式與async/await函式AI
- ES6 Async/Await 完爆Promise的6個原因AIPromise
- js--promise、async 和 await 相關知識總結JSPromiseAI
- Async/awaitAI
- Async +AwaitAI
- promise with asyncPromise