试着写了一个,大中午看到这题午睡的时候一直在想,输出是3,不知道思路正不正确 function wrap() { let req = [...arguments][0]; let promises = []; function fn() { let p = req(); promises.push(p); return new Promise((resolve, reject) => { promises.forEach((promise, index) => { promise.then(res => { if (index === promises.length - 1) { resolve(res); } }, err => { if (index === promises.length - 1) { reject(res); } }) }); }); } return fn; } let count = 0; function sendRequest() { return new Promise((resolve) => { setTimeout(() => { resolve(++count) }) }); } let newWrap = wrap(sendRequest); newWrap().then(console.log); newWrap().then(console.log); newWrap().then(console.log);
3 9

相关推荐

2025-12-27 21:38
已编辑
蚌埠坦克学院 前端工程师
查看12道真题和解析
点赞 评论 收藏
分享
查看18道真题和解析
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务