什么是promise?
promise是异步编程的一种解决方法,比传统的解决方案。回调时间和事件更合理更强大,它由社区最早提出和实现ES6 将其写进了语言标准,统一了用法,原生提供了promise对象
这是官方的定义
我是这样理解的:
简单的说 这个单词本身的含义就是承诺。那么就来一个生活中的爱情故事,简单理解一下 promise的基本结构
比如:你有一个女朋友,三天之后要过60大寿,你就承诺:宝贝,过几天你过生日了,给你准备一个惊喜。
有两种情况,如果你是好男人呢,你就会兑现这个承诺,给她买了最喜欢的口红色号-----死亡芭比粉(阿尼玛)
那么如果你是一个渣男,一天到晚就知道玩游戏呢,什么日子都不记得,这个承诺就没办法实现
这就整个恋爱过程呢,就体现了promise的三种状态,pending – 等待,value – 实现承诺(你是个好男人你很棒),error – 忘记承诺(渣男语录,宝贝我错了下次不会了)
看下代码的解释
// promise -- 承诺
let isForget = true //
let getlv = new Promise((resolve,reject) => {
if(isForget){
let lv = {
color:'yellow',
price:999
}
// 承诺兑现。得到礼物
resolve(lv)
}else{
let err = new Error('宝贝对不起下次不会了')
reject(err)
}
})
先去上班喽 ,美好的爱情故事先到这里,下次接着讲!
为什么要用promise?
手写一个promise!