抽獎
代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
</style>
</head>
<body>
<h4>promise初體驗</h4>
<button id="btn">抽獎</button>
<script>
//promise初體驗
function isZj(n,m){
return Math.ceil(Math.random()*(n-m+1)) + m-1
}
const btn = document.querySelector('#btn')
btn.addEventListener('click',function() {
let p = new Promise((resolve,reject)=>{
setTimeout(() => {
let n = isZj(1,100)
if(n<=30) resolve(n) //reslove 讓promise物件的狀態變成為成功狀態
else reject(n) //reject 讓promise物件的狀態變成為失敗狀態
}, 1000)
})
p.then((value) => {
alert('恭喜你中獎了,你的幸運號碼是:'+value)
},(reaseon) => {
alert('再接再厲,你的幸運號碼是:'+reaseon)
})
})
</script>
</body>
</html>
效果:

promise引數說明:
let p = new Promise((resolve,reject)=>{
setTimeout(() => {
let n = isZj(1,100)
if(n<=30) resolve(n) //reslove 讓promise物件的狀態變成為成功狀態
else reject(n) //reject 讓promise物件的狀態變成為失敗狀態
}, 1000)
})
1.resolve引數:
| 成功的時候呼叫 resovle() 讓promise物件的(pending)狀態變成功(resolved)狀態 |
|---|
2.reject引數:
| 失敗的時候呼叫 reject() 讓promise物件的(pending)狀態變失敗(rejected)狀態 |
|---|
處理promise回傳的結果
p.then((value) => {
alert('恭喜你中獎了,你的幸運號碼是:'+value)
},(reaseon) => {
alert('再接再厲,你的幸運號碼是:'+reaseon)
})
1.通過p.then()方法處理回傳的結果
2.第一個引數是成功后的回呼函式 => resolve(n)
3. 第二個引數是失敗后的回呼函式 => reject(n)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/261778.html
標籤:區塊鏈
上一篇:nrm安裝報錯,解決方案
