<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
const setDelay = (millisecond) => {
return new Promise((resolve, reject) => {
if (typeof millisecond != 'number') reject(new Error('参数必须是number类型'));
setTimeout(() => {
resolve(`我延迟了${millisecond}毫秒后输出的`)
}, millisecond)
})
}
//返回的只是一个函数 并不是函数的执行
function timeout(millisecond) {
return () => {
return setDelay(millisecond);
}
}
(async () => {
arr = [timeout(2000), timeout(1000), timeout(1000)]
for (var i = 0; i < arr.length; i++) {
result = await arr[i]();
console.log(result);
}
})()
</script>
</html>