[关闭]
@c-Ku 2017-11-03T07:33:53.000000Z 字数 667 阅读 560

【JS基础】如何理解Promise

Javascript


  1. 作者:浪子
  2. 链接:https://zhuanlan.zhihu.com/p/29632791
  3. 来源:知乎
  4. 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  5. // 定外卖就是一个Promise,Promist的意思就是承诺
  6. // 我们定完外卖,饭不会立即到我们手中
  7. // 这时候我们和商家就要达成一个承诺
  8. // 在未来,不管饭是做好了还是烧糊了,都会给我们一个答复
  9. function 定外卖(){
  10. // Promise 接受两个参数
  11. // resolve: 异步事件成功时调用(菜烧好了)
  12. // reject: 异步事件失败时调用(菜烧糊了)
  13. return new Promise((resolve, reject) => {
  14. let result = 做饭()
  15. // 下面商家给出承诺,不管烧没烧好,都会告诉你
  16. if (result == '菜烧好了')
  17. // 商家给出了反馈
  18. resolve('我们的外卖正在给您派送了')
  19. else
  20. reject('不好意思,我们菜烧糊了,您再等一会')
  21. })
  22. }
  23. // 商家厨房做饭,模拟概率事件
  24. function 做饭() {
  25. return Math.random() > 0.5 ? '菜烧好了' : '菜烧糊了'
  26. }
  27. // 你在家上饿了么定外卖
  28. // 有一半的概率会把你的饭烧糊了
  29. // 好在有承诺,他还是会告诉你
  30. 定外卖()
  31. // 菜烧好执行,返回'我们的外卖正在给您派送了'
  32. .then(res => console.log(res))
  33. // 菜烧糊了执行,返回'不好意思,我们菜烧糊了,您再等一会'
  34. .catch(res => console.log(res))
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注