ASYNC/AWAIT在递归函数上无法正常工作的NodeJS项目
创始人
2024-09-21 01:30:36
0

在递归的场景下,通过使用普通的 Promise 实现,可以解决 ASYNC/AWAIT 不能正常工作的问题。具体步骤如下:

Step 1: 定义一个返回 Promise 的函数

例如,定义一个返回 Promise 的异步函数 delay

const delay = (time) =>
  new Promise((resolve) =>
    setTimeout(() => {
      console.log(`Delay ${time}ms`);
      resolve();
    }, time)
  );

Step 2: 修改递归函数,使其返回 Promise

例如,将原有的递归函数 recursive 改为返回 Promise:

const recursive = async (num) => {
  if (num <= 0) return;
  console.log(`Num: ${num}`);
  await delay(1000);
  await recursive(num - 1);
};

Step 3: 调用递归函数,使用 .then() 处理结果

例如,调用递归函数并使用 .then() 函数处理结果:

recursive(3).then(() => console.log('Done'));

完整代码示例:

const delay = (time) =>
  new Promise((resolve) =>
    setTimeout(() => {
      console.log(`Delay ${time}ms`);
      resolve();
    }, time)
  );

const recursive = async (num) => {
  if (num <= 0) return;
  console.log(`Num: ${num}`);
  await delay(1000);
  await recursive(num - 1);
};

recursive(3).then(() => console.log('Done'));

相关内容

热门资讯

wpk有辅助挂吗!wpk微扑克... wpk有辅助挂吗!wpk微扑克有辅助吗,wpk微扑克外挂事件,存在挂教程(有挂辅助)科技教程也叫必备...
wpk透视挂会被封号吗!wpk... wpk透视挂会被封号吗!wpk德州ai辅助器,wpk德州扑克靠不靠谱,扑克教程(有挂神器);支持2-...
wpk有长期盈利玩家吗!wpk... wpk有长期盈利玩家吗!wpk透视辅助测试,wpk怎么检测伙牌,必胜教程(有挂技巧);实战中需综合运...
微扑克ai辅助!微扑克辅助工具... 微扑克ai辅助!微扑克辅助工具怎么下载,微扑克ai人工智能,揭秘攻略(有挂软件);玩家必备必赢加哟《...
红龙扑克机制!云扑克外挂,gg... 此外,数据分析德州(红龙扑克机制)辅助神器app还具备辅助透视行为开挂功能,通过对客户红龙扑克机制透...
aa扑克发牌机制!aapoke... aa扑克发牌机制!aapoker外挂教程,aa扑克软件,揭秘教程(有挂技巧)是一款可以让一直输的玩家...
wepoke辅助使用方法!we... wepoke辅助使用方法!wepoke app,wepoke的机制,可靠教程(有挂软件);支持多人共...
wepoke模拟器!weopk... wepoke模拟器!weopke真的吗,wepoke辅助器真的有用吗,2025版教程(有挂技巧),支...
aapoker有挂吗!aapo... 这是一款非常优秀的aapoker辅助软件 ia辅助检测软件,能够让你了解到aapoker辅助软件中牌...
德扑之星辅牌软件!德扑之星怎么... 自定义德扑之星辅牌软件系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管...