夫子之说君子也,驷不及舌
--出自《论语·颜渊》javascript
一言而非,驷马不能追;一言而急,驷马不能及
--出自《邓析子·转辞》java
一言既出驷马难追,古代人对君子的追求,造就了他们对承诺的认真和执着,而做为程序员的咱们,虽不能读万卷书,却依然能从 Promise 里感觉到那份执着与纯真。程序员
和咱们小时候相似,Promise 从小便被教育这个世界是非黑即白。坏人就是绝对的坏人,好人就是绝对的好人,当 Promise 处于少年期 ( Pending ) 时期时,就一直在考虑未来长大了会怎么样,诚然,全部的 Promise 都想着当大侠 ( 变成 Fulfilled 状态 ),惋惜并非全部的 Promise 最终都能变成大侠 ( Fulfilled ) 状态,有不少 Promise 会由于种种不肯定的缘由变成 Rejected 状态,还有一部分可能终其一辈子都在少年期 ( Pending ) 徘徊。promise
刚开始接触 Promise,可能感受不到他的明显的用处,可是最近项目的一次实践,使我真正感觉到了他的威力。缓存
// 右键弹窗出现后等待用户点击重命名,故此处新建一个promise
new Promise(resolve => {
this.reNameResolve = resolve
}).then(() => {
data.isEdit = true
this.$nextTick(() => {
this.$refs.input.focus()
})
// 等待用户再次点击右键,在没有enter以前
return new Promise(resolve => {
this.preReNameResolve = resolve
}).then(() => {
data.isEdit = false
})
})
复制代码
这是一个右键弹窗功能函数的一部分 函数
// 右键重命名
rename() {
if (this.preReNameResolve) {
this.preReNameResolve()
}
this.reNameResolve()
this.contextmenuFlag = false
}
复制代码
看到这里,想必你们应该清楚了 Promise 的妙处了,最后也但愿咱们你们都能像 Promise 同样——单纯、执着,信守承诺。ui