javascript - 是否可以在 JavaScript 中创建 Promise<Promise<T>> 类型的对象?

标签 javascript typescript promise

所有这 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/

相关文章:

javascript - 获取 p-tag 中的文本并存储在变量中

javascript - 在php while循环中单击按钮时获取特定div

javascript - Nativescript webview 和 android 后退按钮

node.js - Node.js 中异步/等待的行为

javascript - 在 get 请求中使用 $interval

javascript - Node.js Promise 与 Mongoose

javascript - Rails & JQuery : Invalid association. 确保 Accepts_nested_attributes_for 用于

c# - 类库中的 SignalR 中心类

typescript - 安装@types/leaflet 后无法访问全局 L 命名空间

javascript - 将 JSON 数据复制到数组中