gpt4 book ai didi

javascript - 为什么输出结果不一样?

转载 作者:行者123 更新时间:2023-12-04 11:33:20 25 4
gpt4 key购买 nike

async function fn1() {
return 1
}
async function fn2() {
return Promise.resolve(1)
}

function fn3() {
return Promise.resolve(1)
}

function fn4() {
return Promise.resolve(Promise.resolve(1))
}
console.log(fn1()); //Promise {<fulfilled>: 1}
console.log(fn2()); // Promise {<pending>}
console.log(fn3()); // Promise {<fulfilled>: 1}
console.log(fn4()); // Promise {<fulfilled>: 1}

当我运行 fn2() 时,它输出 Promise { pending } .
为什么是 fn2() Promise { pending }而不是 Promise {fulfilled: 1} ?

最佳答案

fn2()有点骗人。从 async 返回一个 Promise函数产生的代码必须是 await编辑或 then()在它甚至试图解决之前编辑。 Here's了解原因的起点。
编辑 : 这是不正确的。请参阅下面的@VLAZ 评论。

关于javascript - 为什么输出结果不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68255166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com