首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Promise .then()不等待Promise链中前一个Promise的Resolve()

Promise .then()方法不会等待Promise链中前一个Promise的Resolve()。当调用.then()方法时,它会立即注册一个回调函数,该回调函数将在前一个Promise对象的状态变为resolved时被调用。如果前一个Promise对象的状态已经是resolved,那么回调函数将会立即执行;如果前一个Promise对象的状态还未resolved,那么回调函数将会在前一个Promise对象的状态变为resolved后被调用。

这种行为是Promise的特性之一,它允许我们在异步操作完成之前继续执行其他代码,从而提高程序的并发性和响应性。但是,如果我们需要确保前一个Promise对象的操作已经完成,才能继续执行后续的操作,我们可以使用Promise的其他方法,如Promise.all()或async/await来实现。

Promise.all()方法接收一个Promise数组作为参数,并返回一个新的Promise对象。该新的Promise对象将在所有的Promise对象都变为resolved状态后被resolved,或者在其中一个Promise对象变为rejected状态后被rejected。这样,我们可以通过Promise.all()方法来等待所有的Promise对象都完成后再执行后续的操作。

async/await是一种基于Promise的异步编程模型,它可以让我们以同步的方式编写异步代码。通过在函数前面加上async关键字,我们可以在函数内部使用await关键字来等待一个Promise对象的完成。在我们的例子中,我们可以使用async/await来等待前一个Promise对象的完成,然后再执行后续的操作。

总结起来,Promise .then()方法不会等待Promise链中前一个Promise的Resolve(),但我们可以使用Promise.all()或async/await来实现等待前一个Promise对象完成后再执行后续的操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JS读书心得:《JavaScript框架设计》——第12章 异步处理

一、何为异步                                 执行任务的过程可以被分为发起和执行两个部分。 同步执行模式:任务发起后必须等待直到任务执行完成并返回结果后,才会执行下一个任务。 异步执行模式:任务发起后不等待任务执行完成,而是马上执行下一个任务,当任务执行完成时则会收到通知。   面对IO操作频繁的场景,异步执行模式可在同等的硬件资源条件下提供更大的并发处理能力,也就是更大的吞吐量。   但由于异步执行模式打破人们固有的思维方式,并且任务的发起和任务的执行是分离的,从而提高

07
领券