Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 2x 5x 2x 2x 2x 2x 2x 1x 1x 1x | /** * 任務:實作一個函式 `asyncSum`,該函式應該能夠計算陣列中所有數字的總和。 * 範例:asyncSum([1, 2, 3, 4, 5]) 應該回傳 15 * @param numbers - 一個數字陣列 * @returns - 回傳一個 Promise,該 Promise resolve 的值應該是陣列中所有數字的總和 */ export function asyncSum(numbers: number[]): Promise<number> { return new Promise((resolve, reject) => { try { // 請在此處寫下你的程式碼 resolve(numbers.reduce((acc, cur) => { return acc + cur; }, 0)); } catch (error) { reject(error); } }); } // 備註:題目中即使累加操作本身是同步的,也可以使用 Promise 來模擬非同步的情況。這可以讓學生練習如何使用 Promise 來處理非同步操作 |