问答题13题:请实现下面的 sum 方法

1/** 2 * @file 假设加法是一个异步过程,如何计算多个数组之和? 3 */ 4function sleep(ms: number) { 5 return new Promise(r => { 6 setTimeout(() => { 7 r(undefined) 8 }, ms); 9 }) 10} 11 12async function asyncAdd(a: number, b: number) { 13 await sleep(1000); 14 return a + b; 15} 16 17function sum(arr: number[]): Promise<number> { 18 // 补全这里代码,涉及 arr 中两数求和只能使用 asyncAdd,禁止使用加号 19 throw new Error('功能待实现'); 20} 21 22console.time('a') 23sum([1, 2, 3, 4, 5, 6, 7, 8]) 24 .then(v => { 25 console.log(v) // 36 26 console.timeEnd('a') // a: <耗时> 27 }) 28 29export default {}
难度:
更新时间:2023-03-13

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!