promise实现猜数字游戏
时间: 2023-08-12 22:01:43 浏览: 28
好的,我可以帮你实现一个使用 Promise 的猜数字游戏。下面是代码示例:
```javascript
function guessNumberGame() {
const secretNumber = Math.floor(Math.random() * 100) + 1;
let attempts = 0;
return new Promise((resolve, reject) => {
function guess() {
attempts++;
const userGuess = parseInt(prompt("猜一个数字(1-100):"));
if (isNaN(userGuess)) {
reject(new Error("请输入一个有效的数字!"));
return;
}
if (userGuess === secretNumber) {
resolve(`恭喜你,猜对了!你用了 ${attempts} 次机会。`);
} else if (userGuess < secretNumber) {
console.log("猜小了,请再试一次。");
guess();
} else {
console.log("猜大了,请再试一次。");
guess();
}
}
guess();
});
}
guessNumberGame()
.then((message) => {
console.log(message);
})
.catch((error) => {
console.error(error);
});
```
这个代码中,我们生成了一个1到100之间的秘密数字。然后,我们使用递归的方式让用户猜数字,直到猜对为止。如果用户输入无效的数字,将会返回一个错误。最后,通过 Promise 的 resolve 和 reject 方法,返回游戏结果或错误信息。
希望这个代码能满足你的需求!如果有任何疑问,请随时提问。