在我的组件中,我有一个mounted
挂钩,可以将一些数据作为异步请求获取:
mounted() {
this.fetchData()
}
并在beforeDestroy
上删除商店中的数据:
beforeDestroy(){
this.destroyDataInStore()
}
只要mounted
中的请求在组件开始拆除之前解析,这些工作就可以正常工作。
有什么方法可以推迟beforeDestroy
承诺在装载中解决了吗?
答案 0 :(得分:1)
你可以存储承诺:
export default {
data () {
return {
thePromise: null
}
},
mounted () {
this.thePromise = this.fetchData()
},
beforeDestroy () {
this.thePromise.then(() => {
this.destroyDataInStore()
})
}
}
但是为了确保一切正常,我会使用created
挂钩而不是mounted
挂钩:
export default {
data () {
return {
thePromise: null
}
},
created () {
this.thePromise = this.fetchData()
},
beforeDestroy () {
this.thePromise.then(() => {
this.destroyDataInStore()
})
}
}