如何在JavaScript中返回異步函數的結果
找出如何返回異步函數(使用Promise或回調函數)的結果,使用JavaScript。 假設你遇到了這個問題:你需要進行一個異步調用,並且需要將該調用的結果從原始函數中返回。 像這樣: const mainFunction = () => { const result = asynchronousFunction() return result } 但是asynchronousFunction()在內部執行了一些異步調用(例如fetch()調用),並且無法直接返回結果。該函數可能內部有一個需要等待的Promise,或者使用了回調函數。像這樣: const asynchronousFunction = () => { return fetch('./file.json').then(response => { return response }) } 那麼該怎麼辦呢? 使用async/await是最直接的解決方案。您可以使用await關鍵字代替基於Promise的方法,像我們之前使用的方法一樣: const asynchronousFunction = async () => { const response = await fetch('./file.json') return response } 在這種情況下,在mainFunction中,我們需要在函數簽名前加上async,並在調用asynchronousFunction()之前加上await: const mainFunction = async () => { const result = await asynchronousFunction() return result } 現在,因為它是一個async函數,它會返回一個Promise: mainFunction() // 返回一個Promise 為了獲取結果,您可以將其封裝在IIFE中,就像這樣: (async () => { console....