作者:浪子
链接:https://zhuanlan.zhihu.com/p/29632791
来源:知乎
// 定外卖就是一个Promise,Promist的意思就是承诺
// 我们定完外卖,饭不会立即到我们手中
// 这时候我们和商家就要达成一个承诺
// 在未来,不管饭是做好了还是烧糊了,都会给我们一个答复
function 定外卖(){
// Promise 接受两个参数
// resolve: 异步事件成功时调用(菜烧好了)
// reject: 异步事件失败时调用(菜烧糊了)
return new Promise((resolve, reject) => {
let result = 做饭()
// 下面商家给出承诺,不管烧没烧好,都会告诉你
if (result == '菜烧好了')
// 商家给出了反馈
resolve('我们的外卖正在给您派送了')
else
reject('不好意思,我们菜烧糊了,您再等一会')
})
}
// 商家厨房做饭,模拟概率事件
function 做饭() {
return Math.random() > 0.5 ? '菜烧好了' : '菜烧糊了'
}
// 你在家上饿了么定外卖
// 有一半的概率会把你的饭烧糊了
// 好在有承诺,他还是会告诉你
定外卖()
// 菜烧好执行,返回'我们的外卖正在给您派送了'
.then(res => console.log(res))
// 菜烧糊了执行,返回'不好意思,我们菜烧糊了,您再等一会'
.catch(res => console.log(res))
【JS基础】如何理解Promise
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
- afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
- 是乐坛的歌星还是影坛的明星呢?你的偶像是60后?70后还是80后? 我深刻的记得当时我在大学时期的时候,我们深深的...