我正在开发一个 JavaScript 项目,我需要延迟获取请求。但是,由于一些项目限制,我无法使用
setTimeout
或setInterval
。我知道这些是 JavaScript 中延迟执行的常用方法,但我需要一种替代方法,因为这些函数已在我们的代码库中被覆盖。
我考虑过使用 Promise 或使用 while 循环进行忙等待,但这些方法并不理想,因为它们要么仍在幕后使用
setTimeout
要么阻止其他代码的执行。
这是我尝试执行的操作类型的基本示例:
async function delayedFetch(url, delayTime) {
// Need to delay here without using setTimeout or setInterval
const response = await fetch(url);
const data = await response.json();
return data;
}
delayedFetch('https://api.example.com/data', 2000)
.then(data => console.log(data));