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'));

相关内容

热门资讯

透视好友!hhpoker透视功... WePoke高级策略深度解析‌;透视好友!hhpoker透视功能如何下载,we poker辅助器下载...
透视苹果版!德普之星辅助正版,... 透视苹果版!德普之星辅助正版,werplan怎么透视,揭秘攻略(确实是真的有挂);值得一提的是,德普...
透视数据!wpk有没有脚本,w... 透视数据!wpk有没有脚本,wepoker透视脚本免费,三分钟了解(有挂介绍)(1)透视数据!wpk...
透视攻略!aapoker透视脚... 《透视攻略!aapoker透视脚本下载,wepoker有机器人吗,透视教程(切实存在有挂)》 aap...
透视实锤!wpk透视脚本下载,... 透视实锤!wpk透视脚本下载,德普之星辅助器app,热点推荐(有挂攻略)1、每个玩家都可以进行使用,...
透视苹果版!wepoker透视... 透视苹果版!wepoker透视脚本下载,wepoker辅助器是真的吗,软件教程(切实是真的有挂);w...
透视辅助!wepoker脚本下... 透视辅助!wepoker脚本下载,wepoker底牌透视脚本怎样安装,重大来袭(有挂详情);致您一封...
透视ai!hhpoker怎么开... 透视ai!hhpoker怎么开透视,wepoker辅助透视软件,2025版教程(总是真的是有挂)1、...
透视辅助!aapoker透视脚... 透视辅助!aapoker透视脚本安装包,wepoker免费透视脚本,教学盘点(有挂总结);人气非常高...
透视工具!wepoker辅助下... 透视工具!wepoker辅助下载,hhpoker德州透视,2025版教程(本来真的是有挂);亲,其实...