※ 認識非同步概念(三)

更新於 2024/05/01閱讀時間約 2 分鐘

什麼是 Promise.all?

在有多個 Promise 的時候,使用 Promise.all 可以確保「所有的 Promise 都執行完以後,才進入 then」。

Promise.all 語法結構

Promise.all 接受的參數是陣列形式。

raw-image

什麼時候要使用 Promise.all?

當程式需要處理多個 Promise 要執行時,而這些 Promise 之間沒有明確的先後順序,但一定需要「全都執行完」,才能進入後續流程,此時,你就可以考慮使用 Promise.all。

Promise.all範例:

const oneSecond = new Promise((resolve, reject) => {
setTimeout (() => {
//一秒後回傳資料
resolve('one second')
}, 1000)
})
const towSecond = new Promise ((resolve, reject) => {
//兩秒回傳資料
resolve('tow Second')
}, 2000)
const threeSecond = new Promise ((resolve, reject) => {
//三秒回傳資料
resolve('three Second')
}, 2000)
//等到三個Promise都成功回傳後,才執行接下去的流程
Promise.all([oneSecond, towSecond, threeSecond ])
.then(([oneSecond, towSecond, threeSecond ]) => {
console.log(oneSecond, towSecond, threeSecond)
})//輸出結果"one second","tow Second","three Second"
    全端網頁開發專業知識分享
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    ※ Promise基本介紹 什麼是 Promise? Promise 是 JavaScript 的一個構造函式,用於創建表示非同步操作的物件實例。使用 new Promise() 時,你會創建一個包含非同步操作的實例,這個實例可以透過其繼承的方法如 then(), catch(), 和 fina
    ※ 同步概念: 單純地「由上而下」執行程式碼,而且一次只執行一件事,也就是「按順序執行,一個動作結束才能切換到下一個」。缺點是你需要「等待」事情執行完畢,才能繼續往下走。 ※ 非同步概念: 盡可能讓主要的執行程序不需要停下來等待,若遇到要等待的事情,就發起一個「非同步處理」,讓主程序繼續執行,
    ※ 函式進階介紹: 箭頭函式: 箭頭函式相比於一般函式,語法相當簡潔。除了少去 function 關鍵字,如果只有一個參數,箭頭函式可以省略括號;只有一行程式碼,就是直接簡單返回一個變數或簡單的表達式,可以省略大括號和 return。例子如下: //一般函式計算平方用的寫法 const squ
    ※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
    ※ switch用法: ​switch是 JavaScript 中的一個控制結構,是一種更結構化的方法來替代多個 if...else 語句,特別是當需要根據同一變數的多個值進行不同操作時非常有用。 ※ switch語法: switch 語句首先評估括號內的表達式 (expression)。
    ※ 條件判斷語法 決策中需要處理分歧的狀況,就會用到「if」、「else if」、「else」。 ※ 語法結構: 條件式使用小括號(),裡面放判斷式。 要執行的程式碼放在大括號{}裡。 條件式只會有 true 或 false 兩種結果。 ※ 常用的比較運算子: > 大於 < 小於
    ※ Promise基本介紹 什麼是 Promise? Promise 是 JavaScript 的一個構造函式,用於創建表示非同步操作的物件實例。使用 new Promise() 時,你會創建一個包含非同步操作的實例,這個實例可以透過其繼承的方法如 then(), catch(), 和 fina
    ※ 同步概念: 單純地「由上而下」執行程式碼,而且一次只執行一件事,也就是「按順序執行,一個動作結束才能切換到下一個」。缺點是你需要「等待」事情執行完畢,才能繼續往下走。 ※ 非同步概念: 盡可能讓主要的執行程序不需要停下來等待,若遇到要等待的事情,就發起一個「非同步處理」,讓主程序繼續執行,
    ※ 函式進階介紹: 箭頭函式: 箭頭函式相比於一般函式,語法相當簡潔。除了少去 function 關鍵字,如果只有一個參數,箭頭函式可以省略括號;只有一行程式碼,就是直接簡單返回一個變數或簡單的表達式,可以省略大括號和 return。例子如下: //一般函式計算平方用的寫法 const squ
    ※ 函式基礎介紹: ※ JavaScript 特殊的函式特性: 函式可以當成值來傳遞 (可以放進變數或放進物件) 函式可以當成函式的參數 callback - 在特定事件中觸發函式 (非同步特性) ※ 函式的基本寫法: ※ 調用 (invoke) 函式: "調用" 意指呼叫或執行
    ※ switch用法: ​switch是 JavaScript 中的一個控制結構,是一種更結構化的方法來替代多個 if...else 語句,特別是當需要根據同一變數的多個值進行不同操作時非常有用。 ※ switch語法: switch 語句首先評估括號內的表達式 (expression)。
    ※ 條件判斷語法 決策中需要處理分歧的狀況,就會用到「if」、「else if」、「else」。 ※ 語法結構: 條件式使用小括號(),裡面放判斷式。 要執行的程式碼放在大括號{}裡。 條件式只會有 true 或 false 兩種結果。 ※ 常用的比較運算子: > 大於 < 小於
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    透過擁有使命時的感受,以及其感受作為基底的來源,使用自己的生命。 下限有希特勒作為借鏡,上限有帶領AI作為發展前沿,縱使還不熟悉,也早晚會在過程中認識使命。
    Thumbnail
    本文解惑阿拉伯文為何看起來像一條蟲,並介紹阿語字母與變形體。
    Thumbnail
    大家來日本旅行前可能都只聽過合掌村,卻沒什麼聽過合掌村周遭的城市,但其實在合掌村附近有一個名叫飛驒高山的城市,這個城市既有像鄉村般的古色古香和樸素氛圍,又同時兼具都市般的熱鬧和方便,而且美食和景點夠你逛三天三夜!這次就要帶大家以簡單清楚的方式,體驗高山好吃好玩的景點和美食,並讓大家認識高山這個地方!
    Thumbnail
    經常忽略了自己內在深處的聲音 在這快節奏的現代生活中,我們總是被迫奔波於各種工作、學習和家庭事務之間。這種忙碌使我們往往忽略了內在深處的聲音,忘記了自己的真正渴望和內心的需求。每天的壓力讓我們只能應付眼前的困難,卻忘了細細品味生活的真諦。 在城市的喧囂中,我們忘記了自己 在城市的喧囂中,我們很
    Thumbnail
    在(上)時我們從「I am _____ .」開始,引導讀者一路來到了句型「主詞+be+介詞片語」,本篇(下)要跟讀者分享常用和好用的例句,同時邀請付費訂閱的讀者透過留言功能挑一個或本文提到的所有例子來造句,老師會幫揪錯。 首先分享一個描述位置的實用句型。請看: 可拿來形容自己住的地方交通有多便利:
    Thumbnail
    位於伊斯坦堡的聖索菲亞大教堂,是到土耳其旅遊時必去的景點,但除了歷史課本上有學過的拜占庭歷史外,你對這座建築了解嗎? 今天透過世界級建築師羅伯特‧麥卡特以及2018威尼斯建築展「田中央工作群」的策展顧問尤哈尼‧帕拉斯瑪,帶你「紙上VR導覽」聖索菲亞大教堂這座既熟悉又陌生的建築吧!
    Thumbnail
    「阿飛的人生相談所」,故名思義就是聊人生的各種問題,我會在這裡用聲音跟讀者聊聊日常生活的大小事,也會開放讀者留言與來信提問,無論是感情上、工作上或是家庭、人際關係的問題都可以留言或來信問我,然後我會從中挑選適合的問題在音頻聊聊我的看法,當然不想問問題,單純留言給我鼓勵,我也非常開心。
    結構化資料: 事先定義好每個欄位可以存放什麼資料,這種儲存的資料就是結構化資料。 像是關聯式資料庫中的資料,需要先把table欄位定義好,之後才能儲存資料。 半結構化資料: 無需事先定義好資料欄位,每一筆資料能夠根據需求儲存不同的欄位,因此很有彈性,如JSON, XML等等。 非結構化資料: 未整理
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    透過擁有使命時的感受,以及其感受作為基底的來源,使用自己的生命。 下限有希特勒作為借鏡,上限有帶領AI作為發展前沿,縱使還不熟悉,也早晚會在過程中認識使命。
    Thumbnail
    本文解惑阿拉伯文為何看起來像一條蟲,並介紹阿語字母與變形體。
    Thumbnail
    大家來日本旅行前可能都只聽過合掌村,卻沒什麼聽過合掌村周遭的城市,但其實在合掌村附近有一個名叫飛驒高山的城市,這個城市既有像鄉村般的古色古香和樸素氛圍,又同時兼具都市般的熱鬧和方便,而且美食和景點夠你逛三天三夜!這次就要帶大家以簡單清楚的方式,體驗高山好吃好玩的景點和美食,並讓大家認識高山這個地方!
    Thumbnail
    經常忽略了自己內在深處的聲音 在這快節奏的現代生活中,我們總是被迫奔波於各種工作、學習和家庭事務之間。這種忙碌使我們往往忽略了內在深處的聲音,忘記了自己的真正渴望和內心的需求。每天的壓力讓我們只能應付眼前的困難,卻忘了細細品味生活的真諦。 在城市的喧囂中,我們忘記了自己 在城市的喧囂中,我們很
    Thumbnail
    在(上)時我們從「I am _____ .」開始,引導讀者一路來到了句型「主詞+be+介詞片語」,本篇(下)要跟讀者分享常用和好用的例句,同時邀請付費訂閱的讀者透過留言功能挑一個或本文提到的所有例子來造句,老師會幫揪錯。 首先分享一個描述位置的實用句型。請看: 可拿來形容自己住的地方交通有多便利:
    Thumbnail
    位於伊斯坦堡的聖索菲亞大教堂,是到土耳其旅遊時必去的景點,但除了歷史課本上有學過的拜占庭歷史外,你對這座建築了解嗎? 今天透過世界級建築師羅伯特‧麥卡特以及2018威尼斯建築展「田中央工作群」的策展顧問尤哈尼‧帕拉斯瑪,帶你「紙上VR導覽」聖索菲亞大教堂這座既熟悉又陌生的建築吧!
    Thumbnail
    「阿飛的人生相談所」,故名思義就是聊人生的各種問題,我會在這裡用聲音跟讀者聊聊日常生活的大小事,也會開放讀者留言與來信提問,無論是感情上、工作上或是家庭、人際關係的問題都可以留言或來信問我,然後我會從中挑選適合的問題在音頻聊聊我的看法,當然不想問問題,單純留言給我鼓勵,我也非常開心。
    結構化資料: 事先定義好每個欄位可以存放什麼資料,這種儲存的資料就是結構化資料。 像是關聯式資料庫中的資料,需要先把table欄位定義好,之後才能儲存資料。 半結構化資料: 無需事先定義好資料欄位,每一筆資料能夠根據需求儲存不同的欄位,因此很有彈性,如JSON, XML等等。 非結構化資料: 未整理