使用 Promise 延迟
内置函数 setTimeout
使用回调函数。创建一个基于 Promise 的替代方案。
函数 delay(ms)
应该返回一个 Promise。该 Promise 应该在 ms
毫秒后解析,以便我们可以向其添加 .then
,如下所示
function delay(ms) {
// your code
}
delay(3000).then(() => alert('runs after 3 seconds'));
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
delay(3000).then(() => alert('runs after 3 seconds'));
请注意,在这个任务中,resolve
是在没有参数的情况下调用的。我们没有从 delay
返回任何值,只是确保延迟。