var page = new Vue({
el: '#content-page',
data: {
token: null
},
methods: {},
mounted: function () {
//get token object from API
}
});
令牌具有属性syncStatus
,可以是inProgress
或completed
。我想要一个条件轮询,该轮询将一直调用API,直到syncStatus获取值完成为止。
我可以做这样的事情:
var page = new Vue({
el: '#content-page',
data: {
token: null
},
methods: {
//Method-get-token
//In axios.then if syncStatus is inProgress call this method again
},
mounted: function () {
//get token object from API
//if syncStatus is inProgress call method-get-token
}
});
但是我认为必须有一些更好的方法来做到这一点。
有什么建议吗?
答案 0 :(得分:0)
假设您没有商店
您可以添加一个数据属性以保存syncStatus
的值,然后在已挂载的函数中有条件地调用api以继续检查该值是否更改。
然后添加观察者以在syncStatus
的值更改时做魔术
与此类似的事物
data() {
return {
syncStatus: 'notStarted' //you should think of having a default value to this
}
},
mounted() {
window.setInterval(()=>{
//call the api conditionally
if (syncStatus === 'inProgress'){
//call the api
}
},MilliSeconds)
},
watch: {
syncStatus: function(newValue) {
//do magic when the value changes
}
}