我正在做一个项目,假设测试用例是,我们在一个特定的端点中有很多第三方API来进行支付,我们必须等待该端点的每一个API,这样我们才能在下一个端点中使用它。因此,目前我只是使用同步等待,但它花费的时间太长,而且太混乱。示例
PaymentHandler(){
constructor(){ // we aill declare all the data and its initial value}
async function1(){//it will call a certain api and store that data in class}
async function2(){//it will call a certain api and store that data in class}
async function3(){//it will call a certain api and store that data in class}
async function4(){//it will call a certain api and store that data in class}
}
我在节点中调用这个类,在这里我使用它作为,但是在这里,它们是一个等待,这是必要的,因为在调用函数2之后,我们将不得不等待大约2天,以从函数3获得更新的数据。如果我们不这样做,t wait函数2之后,我们得到的付款状态为unclaimed,但如果我们只是等待两秒钟,交易正在由第三方API处理,在这段时间内,我们得到交易状态为成功。这是因为付款一次最多可以包含10k笔交易。
const obj = new PaymentHandler()
await obj.function1(res);
await obj.function2(res,payment_details);
await sleep(2000);
await obj.function3(res);
await obj.function4(res);
我是第一次这样做,不确定这是一个好的方法,任何建议,可能会帮助我在这使用这种方法,我得到我的回应在大约9秒,这是一个很长的等待时间的客户。
1条答案
按热度按时间umuewwlo1#
有很多不同的方法可以处理这些问题。但是我推荐使用cron作业的工作进程
worker_threads
。工作线程可以极大地提高性能,它是为这类任务设计的,因为它可以防止它们给其他部分带来问题,因为它是隔离的。此外,它在很大程度上取决于应用程序的特定要求和需要处理的任务类型。
docs。另外还有很多库,这使得它更容易使用。干杯