typescript 打印脚本中的递归函数

hpcdzsge  于 2023-01-18  发布在  TypeScript
关注(0)|答案(1)|浏览(123)

我在Node JS中有一个带有Typescript的项目,我在其中创建了一个函数来检查文件是否存在,这个检查返回一个布尔值。
我有另一个函数timeOut(),用于在检查文件是否已到达之前等待一段时间,当它检查是否为true时,进程将继续,如果为false,我需要它再次检查文件在定义的时间之后是否存在
这是我的

function sleepTimeout(interval) {
  return new Promise((resolve) => {
    setTimeout(resolve, interval);
  });
};

async function testData(data) {

  await sleepTimeout(2000);

  if (data == false) {
    console.log('KO')
  } else {
    console.log('OK')
  }

}

testData(true)

它只做了一个检查,我怎样才能让函数在timeOut之后重做if,直到布尔值为true

fykwrbwg

fykwrbwg1#

你可以使用async/await来确保函数在重新开始之前已经完成,并且while循环:

async function testData(data) {
  while (!data) {
    await sleepTimeout(2000);
    data = await checkFileExists(); // replace this with your function to check if the file exists
  }
  console.log('OK');
}

testData(checkFileExists());

相关问题