Javascript 等待函数,但同步它们,然后调用最后一个函数
因此,我正在使用Vue、Node和typescript。 我正在获取我的所有其他函数都需要的数据,因此getDataForFunction123需要等待,这很好 然后我有3个函数,它们获取不同的内容,而不是相互依赖。但所有答案都由Function123ISDONE之后的最后一个函数updatea使用。但当我现在有了它,我们需要等待函数1、2和3的同步。这需要很多时间。 我想让函数1、2和3同时做这些事情,但也想知道3都完成了,然后在函数123ISDONE之后调用updateAfterFunction123IsDone 代码如下:Javascript 等待函数,但同步它们,然后调用最后一个函数,javascript,vue.js,async-await,vue-component,es6-promise,Javascript,Vue.js,Async Await,Vue Component,Es6 Promise,因此,我正在使用Vue、Node和typescript。 我正在获取我的所有其他函数都需要的数据,因此getDataForFunction123需要等待,这很好 然后我有3个函数,它们获取不同的内容,而不是相互依赖。但所有答案都由Function123ISDONE之后的最后一个函数updatea使用。但当我现在有了它,我们需要等待函数1、2和3的同步。这需要很多时间。 我想让函数1、2和3同时做这些事情,但也想知道3都完成了,然后在函数123ISDONE之后调用updateAfterFuncti
async initData () {
await this.getDataForFunction123();
await this.function1();
await this.function2();
await this.function3();
this.updateAfterFunction123IsDone();
}
我不认为一个承诺就能解决这个问题?因为它也在按顺序而不是同时执行功能?正当这不会为我节省时间,但会为我节省一些错误处理的时间?承诺。一旦所有承诺都得到解决,所有承诺都会触发。因此,立即运行所有函数function1、function2、function3,无需等待,然后在其承诺得到解决后继续:
async initData () {
await this.getDataForFunction123();
const p1 = this.function1();
const p2 = this.function2();
const p3 = this.function3();
await Promise.all([p1, p2, p3]);
this.updateAfterFunction123IsDone();
}
一旦所有的承诺都解决了,所有的火灾都会发生。因此,立即运行所有函数function1、function2、function3,无需等待,然后在其承诺得到解决后继续:
async initData () {
await this.getDataForFunction123();
const p1 = this.function1();
const p2 = this.function2();
const p3 = this.function3();
await Promise.all([p1, p2, p3]);
this.updateAfterFunction123IsDone();
}
我想你误解了什么是承诺。答应我,一切都不做任何特别的事,它只是一种实用的方法。如果你在没有等待的情况下创建了三个承诺,那么这三个承诺都将立即并行执行,至少在JavaScript中是如此。我认为你误解了承诺是什么。答应我,一切都不做任何特别的事,它只是一种实用的方法。如果您在不等待的情况下创建了三个承诺,那么这三个承诺都将立即并行执行,至少在JavaScript中是并行的。谢谢。这正是我想要的。我需要读进去才能保证。我看到的更多一点。谢谢谢谢这正是我想要的。我需要读进去才能保证。我看到的更多一点。谢谢