【发布时间】:2021-01-13 18:42:45
【问题描述】:
我有一个对象,它的值是 Promise。对象字段可以具有不同类型的值,例如函数、承诺、字符串、数字或其他对象。 如何实现一个等待对象中所有承诺解决的函数?
const asyncFunction = () => {
return Promise.resolve("Resolved!")
}
const nonAsyncFunction = () => {
return "Resolved!"
}
const awaitObjectWithPromise = (obj) => {
// Returns a promise which waits for all
// the promises inside "obj" to be resolved.
}
let obj = {
key1: asyncFunction(),
key2: nonAsyncFunction(),
key3: "Some Value",
parent1: {
key1: asyncFunction(),
key2: nonAsyncFunction(),
key3: "Some Value"
}
}
awaitObjectWithPromise(obj).then((obj) => {
console.log(obj);
// Should output:
// {
// key1: "Resolved!",
// key2: "Resolved!",
// key3: "Some Value",
// parent1: {
// key1: "Resolved!",
// key2: "Resolved!",
// key3: "Some Value"
// }
// }
})
【问题讨论】:
-
我认为可以创建您需要的功能。等等,我正在努力。
标签: javascript async-await es6-promise