非同步 JavaScript 函數總是回傳 Promise 嗎?
Dec 23, 2024 pm 04:20 PM非同步函數與隱式 Promise 傳回
在 JavaScript 中,由 async 關鍵字標記的非同步函數傳回 Promise。即使您明確傳回非 Promise 值或根本不回傳任何內容,這也成立。
隱式 Promise 包裝器
如果您不明確回傳Promise,你回傳的值會自動包裹在一個promise中。
async function increment(num) { return num + 1; } // Logs: 4 increment(3).then(num => console.log(num));
登入後複製
這表示即使傳回值是一個數字,出於非同步處理的目的,它將被轉換為 Promise。
Unwrapped Promises
Promises 自動解包,這表示如果您確實返回在非同步函數中承諾某個值時,您將收到該值的承諾(而非針對該值的承諾)
async function increment(num) { return defer(() => num + 1); } // Logs: 4 increment(3).then(num => console.log(num));
登入後複製
不一致的行為
非同步函數的行為確實看起來與傳統的return 語句不一致,因為它在明確傳回非承諾值時有所不同。這是因為非同步函數使用稱為生成器的特殊函數,它並不總是傳回與 return 語句相同的值。
以上是非同步 JavaScript 函數總是回傳 Promise 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)