gpt4 book ai didi

javascript - 第二个 Promise 会等待第一个 Promise 完成后再开始吗

转载 作者:行者123 更新时间:2023-12-01 00:25:44 24 4
gpt4 key购买 nike

所以我在学习promise一段时间后正在做一个项目,我在当前的项目中需要它,但我被得到的结果吓到了。

我有两个 promise ,promise1promise2,在promise1中我有某种循环和数据加载,在 Promise2 我有另一个逻辑,它不依赖于 promise1 的完成来执行。因此,根据我的理解,由于 promise 是以不同方式处理这两个执行的最佳方式,这意味着 promise1 不必在 promise2 之前完成strong> 开始,或者我错了,因为从我的结果来看,我可以看到 promise1 必须在 promise2 开始之前完成,但文件中的所有其他代码都会执行而无需等待 promise 能够完成,这很好。

如果这是 Promise 的默认行为,那么我需要知道如何使两个 Promise 异步运行而不相互依赖。

下面是我的代码示例

let promise1 = new Promise((res, rej) =>{
for(let i = 0; i < 52435435; i++){

}
res('done')
});

let promise2 = new Promise((res, rej) => {
res('Done second')
})

promise1.then(txt => console.log(txt))
promise2.then(txt => console.log(txt))

console.log('Last console')

结果

Last console
app.js:12 done
app.js:13 Done second

最佳答案

你必须阅读有关 JS 工作池的内容。您的 for 循环不会给任何其他任务机会获得一些 cpu。使用setTimeout来模拟异步过程!

关于javascript - 第二个 Promise 会等待第一个 Promise 完成后再开始吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59029595/

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