Waiting for the first successful promise

JavaScript Easy promises

任务 «Waiting for the first successful promise»

编写一个函数 `firstResolved(promises)`,该函数接受一个 Promise 数组,并返回一个新的 Promise,该 Promise 会以数组中第一个成功执行(resolved)的 Promise 的值进行解析。如果所有 Promise 都被拒绝(reject),则返回的 Promise 应被拒绝,并附带消息 "All promises rejected"。请仅使用标准的 Promise 方法,不要使用 async/await。

输入格式

字符串包含一个JSON格式的Promise数组,其中每个Promise表示为[resolve, value]或[reject, error]。例如:[[true, 10], [false, 'Error'], [true, 20]]。

输出格式

第一个成功兑现的承诺的值,或字符串'All promises rejected'。

示例

示例 1

输入
[[true, 10], [true, 20], [false, 'Error']]
输出
10

示例 2

输入
[[false, 'Error1'], [true, 'Success'], [false, 'Error2']]
输出
Success

示例 3

输入
[[false, 'Error1'], [false, 'Error2']]
输出
All promises rejected
main.js