所有这 3 个语句都返回 Promise<T>
而不是Promise<Promise<T>>
// first
const foo = Promise.resolve(Promise.resolve(42))
// second
function bar() {
return new Promise((resolve, reject) => {
resolve(new Promise((resolve, reject) => {
resolve(42)
}));
})
}
// third
function baz() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(new Promise((resolve, reject) => {
setTimeout(() => {
resolve(42)
}, 1000)
}))
}, 1000)
})
}
foo.then(console.log) // 42
bar().then(console.log) // 42
baz().then(console.log) // 42
是否可以创建 Promise
这解决了另一个Promise
在 JavaScript 中?
最佳答案
没有。
如果一个 Promise 的解析值是另一个 Promise,那么它将被采用。
关于javascript - 是否可以在 JavaScript 中创建 Promise<Promise<T>> 类型的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66906689/