对TypeScript中的异步/等待调用进行排序



我有以下代码片段。我面临的问题是,有时序列不被遵守,即在_doSomethingFirst((之前调用_doSomechingNext((。

<CustomModal
onDissmiss( ): { ( )=> { 
executeInSequence( );
}
}
/>
private executeInSequence( ):void {
this._fun1( ).then(( ) => { this._fun2(); });
} 
private async _fun1( ):void {
const result: IResultArray[] = await httpClient1.getData ();
if (!result) {
this._doSomethingFirst();
}
}
private async _fun2( ):void {
const result: IResultArray[] = await httpClient2.getData ();
if (!result) {
this._doSomethingNext();
}
}

知道为什么会发生这种情况吗?以及我如何确保对getData((的顺序和唯一一个等待调用的调用。

您应该有这样的return语句和async关键字;

private async _fun1( ) {
const result: IResultArray[] = await httpClient1.getData ();
if (!result) {
return this._doSomethingFirst();
}
}
private async _fun2( ) {
const result: IResultArray[] = await httpClient2.getData ();
if (!result) {
return this._doSomethingNext();
}
}

最新更新