【发布时间】:2018-07-04 12:46:11
【问题描述】:
我确定我错过了一些东西,但我想不通,我想我可以在这里检查一下。
所以简而言之,我想在 Vue 中执行此操作 (https://codesandbox.io/s/6zlmkm61m3)
function p1() {
return new Promise((resolve, reject) => {
console.log('p1')
resolve()
})
}
function p2() {
return new Promise((resolve, reject) => {
console.log('p2')
reject('p2')
})
}
p1()
.then(p2)
.catch((error) => {
console.log(error)
})
但是,如果我将其提取到 Vue,它会给我Uncaught (in promise)
https://codesandbox.io/s/mq2343y6p8
所以我不确定这是否是由于 Vue 以及我如何调用这些方法,但我们将不胜感激。
Vue 代码:
export default {
name: "App",
components: {
Hello,
World
},
data() {
return {};
},
methods: {
checkPromise() {
this.$refs.promiseOne
.p1()
.then(this.$refs.promiseTwo.p2())
.catch(error => {
console.log(error);
});
}
}
};
【问题讨论】:
-
您应该在
p2处理您的拒绝。因此,p2.catch((error)=>{})将解决此消息 -
谢谢,我应该把它放在我知道如何修复错误的原始问题中,更多的是关于我为什么会收到那个错误,接受的答案是我所缺少的......呵呵
标签: javascript vue.js promise