gpt4 book ai didi

javascript - 顺序运行类实例的方式(typescript nodejs)

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

我有一个 typescript 类,多次调用相同的函数,但它以异步方式运行。

我想以这样的方式运行:当第一个调用完成时,运行第二个等等......使用 rxjs 或任何其他方式

class person extends human{

async identity(id:any, data: any){
await writeData(id,data);
}

}

class human(){
writeData(id:any, data: any){
console.log(id,data);
}
}

person.identity(1,'a');
person.identity(2,'b');
person.identity(3,'c');
person.identity(4,'d');

Output :

3,'c';
4,'d';
.......

预期输出应按顺序排列

最佳答案

identity 函数设置为 async,以便您可以在其中使用 await,然后它将返回一个 Promise,该 Promise 会在调用时解析到达终点 - 因此,只需 await 每次调用 person.identity 即可。您还应该引用 this.writeData 才能访问 human.prototype.writeData 函数。

class person extends human{
async identity(id:any, data: any){
await this.writeData(id,data);
}
}

(async () => {
await person.identity(1,'a');
await person.identity(2,'b');
await person.identity(3,'c');
await person.identity(4,'d');
})();

关于javascript - 顺序运行类实例的方式(typescript nodejs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54941581/

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