如何在 TypeScript 中实现 sleep 函数(延迟)?
大家好!我是一名 TypeScript 和 Angular 的初学者开发者。遇到了这样一个任务:需要在代码执行中暂停,例如模拟数据加载或在重复请求 API 前添加延迟。
在 JavaScript 中我见过 setTimeout 函数,但它不会阻塞执行,只是延迟回调的调用。我需要类似 sleep(2000) 的东西,让代码执行暂停 2 秒,然后继续。
以下是我尝试过的代码:
```typescript
function sleep(ms: number) {
setTimeout(() => {
// 应该发生什么?
}, ms);
}
async function loadData() {
console.log('开始加载...');
sleep(2000); // 我想等待 2 秒
console.log('数据已加载'); // 这行会立即执行
}
```
但代码不起作用——第二个 console.log 立即执行,没有延迟。如何在 TypeScript 中正确实现 sleep?是否需要使用 Promise 或 async/await?希望得到带解释的示例。
最好