郑州企业建站免费咨询,广州知名网站建设后台管理便捷,国际专线网络怎么申请,网站做哪种推广好说在前面 #x1f388;不知道大家对于算法的学习是一个怎样的心态呢#xff1f;为了面试还是因为兴趣#xff1f;不管是出于什么原因#xff0c;算法学习需要持续保持。 题目描述
给定两个 promise 对象 promise1 和 promise2#xff0c;返回一个新的 promise。promise1 …说在前面 不知道大家对于算法的学习是一个怎样的心态呢为了面试还是因为兴趣不管是出于什么原因算法学习需要持续保持。 题目描述
给定两个 promise 对象 promise1 和 promise2返回一个新的 promise。promise1 和 promise2 都会被解析为一个数字。返回的 Promise 应该解析为这两个数字的和。 示例 1
输入
promise1 new Promise(resolve setTimeout(() resolve(2), 20)),
promise2 new Promise(resolve setTimeout(() resolve(5), 60))
输出 7
解释 两个输入的 Promise 分别解析为值 2 和 5。返回的 Promise 应该解析为 2 5 7。返回的 Promise 解析的时间不作为判断条件。示例 2
输入
promise1 new Promise(resolve setTimeout(() resolve(10), 50)),
promise2 new Promise(resolve setTimeout(() resolve(-12), 30))
输出 -2
解释 两个输入的 Promise 分别解析为值 10 和 -12。返回的 Promise 应该解析为 10 -12 -2。提示
promise1 和 promise2 都是被解析为一个数字的 promise 对象
解题思路
接受两个Promise作为参数并返回一个新的Promise。这个新的Promise在两个输入Promise都成功解决后将它们的结果相加并解决为最终的结果。
具体来说代码中的addTwoPromises函数使用Promise.all方法来等待两个输入Promise都完成。一旦两个Promise都成功解决Promise.all返回一个包含两个Promise结果的数组。然后通过then方法注册的回调函数将两个结果相加并使用resolve方法解决新的Promise将相加的结果作为最终结果。
AC代码
/*** param {Promise} promise1* param {Promise} promise2* return {Promise}*/
var addTwoPromises async function(promise1, promise2) {return new Promise(resolve{Promise.all([promise1,promise2]).then(res{resolve(res[0] res[1]);})});
};/*** addTwoPromises(Promise.resolve(2), Promise.resolve(2))* .then(console.log); // 4*/公众号
关注公众号『前端也能这么有趣』获取更多有趣内容。
说在后面 这里是 JYeontu现在是一名前端工程师有空会刷刷算法题平时喜欢打羽毛球 平时也喜欢写些东西既为自己记录 也希望可以对大家有那么一丢丢的帮助写的不好望多多谅解 写错的地方望指出定会认真改进 偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章有兴趣的也可以关注下。在此谢谢大家的支持我们下文再见 。