Andy的前後端技術筆記、生活紀錄
在Javacript建立promise
發佈於: 2023-03-29 更新於: 2024-04-21 分類於: frontend

建立promise

延續前一篇關於promise的文章,來試試看要怎麼建立一個Promise。

promise初版

製作一個樂透功能的promise

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const lotteryPromise = new Promise(function(resolve,reject){
if(Math.random() >= 0.5){
resolve('You Win the Lottery'); //fulfilled
}else{
reject("loser la"); //reject
}
})

lotteryPromise.then((res)=>{
console.log(res) //印出You Win the Lottery
}).catch((err)=>{
console.log(err) //印出loser la
})

有async效果的promise版本

以上不是async所以加入setTimeout來實現延遲

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const lotteryPromise = new Promise(function(resolve,reject){
setTimeout(()=>{
if(Math.random() >= 0.5){
resolve('You Win the Lottery');
}else{
reject("loser la");
}
},2000) //等2秒才執行
})

lotteryPromise.then((res)=>{
console.log(res) //印出You Win the Lottery
}).catch((err)=>{
console.log(err) //印出loser la
})

--- 到底拉 The End ---