首页 > 解决方案 > Nodejs - 在生产中的错误回调上重试相同的函数

问题描述

我有一个带有 setTimeOut 的 javascript 函数,如果 API 调用有任何错误,我正在重试调用相同的函数。我在 catch 块中调用相同的函数。我的节点服务器是否会崩溃并且资源将被阻塞,或者它将继续调用 getData () 功能

 let retry = ()=> {
          setTimeout(() => {
           getData() 
           retry()
       }, 3000); 
   }

   let getData = () =>{
    Someapi.getData().then((token) => {
        console.log(`Data after 3 seconds->${token}`)
    }).catch((err) => {
        getData()

    })
   }

标签: javascriptnode.jssettimeout

解决方案


我不知道这是否有效。

 let retry = () => {
  setTimeout(() => {
    getData();
    retry();
  }, 3000);
};

while (true) {
  let getData = () => {
    Someapi.getData()
      .then(token => {
        console.log(`Data after 3 seconds->${token}`);
        return false;
      })
      .catch(err => {
        return true;
      });
  };
}

推荐阅读