Vue之Promise
Promise可以实现异步方法,这里主要讨论resolve 和reject 两个参数。直接看实例,可能比较直观increment (context) {return new Promise((resolve, reject) => {setTimeout(() => {context.commit('incr...
·
Promise可以实现异步方法,这里主要讨论resolve 和reject 两个参数。
直接看实例,可能比较直观
increment (context) {
return new Promise((resolve, reject) => {
setTimeout(() => {
context.commit('increment')
// resolve('1111')
reject(new Error('2222222'))
}, 1000)
})
}
reject 返回的是错误信息。。
通过调用catch 可以捕获
handleActionDecrease () {
this.$store.dispatch('increment').then((data) => {
console.log(data)
console.log(this.$store.state.count)
}).catch((error) => {
console.log(error)
})
}
输入如下:
resolve 对应的是then 处理
修改一下:
increment (context) {
return new Promise((resolve, reject) => {
setTimeout(() => {
context.commit('increment')
resolve('1111')
//reject(new Error('2222222'))
}, 1000)
})
}
截图如下:
总结:
resolve ---》对应then
reject ---》对应catch
另外,只有调用了resolve 或者reject 才会触发 then 和 catch
更多推荐
已为社区贡献7条内容
所有评论(0)