用promise返回一个setTimeout方法延迟1秒该setTimeout方法中生成1-20的随机数若数字小于10则视为失败反之则视为成功
你可以使用Promise来封装这个操作,代码如下:
function generateRandomNumber() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const randomNumber = Math.floor(Math.random() * 20) + 1;
if (randomNumber < 10) {
reject("Failed: Number is less than 10");
} else {
resolve(randomNumber);
}
}, 1000);
});
}
generateRandomNumber()
.then((randomNumber) => {
console.log("Success:", randomNumber);
})
.catch((error) => {
console.log(error);
});
上述代码中,generateRandomNumber函数返回一个Promise对象,其中使用setTimeout延迟1秒执行生成随机数的逻辑。如果生成的随机数小于10,则调用reject方法将Promise标记为失败;反之,调用resolve方法将Promise标记为成功,并传递生成的随机数。
在调用generateRandomNumber函数后,可以使用.then方法来处理成功的情况,使用.catch方法来处理失败的情况。在成功的情况下,随机数将作为参数传递给.then方法,并输出成功的消息。在失败的情况下,错误消息将作为参数传递给.catch方法,并输出失败的消息
原文地址: https://www.cveoy.top/t/topic/hOBI 著作权归作者所有。请勿转载和采集!