是否有可能使未来像重新运行的任务一样?例如,如果我必须使用Future进行网络呼叫,但由于身份验证原因而失败。身份验证成功后,我想重新运行网络呼叫将来。我怎样才能做到这一点?
我期望的代码可能与此类似
//avoid handling events this way; attach an event handler instead unless you specifically EE's to override the base onload
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Task.Run(Proceso).Wait();
this.Close();
}
答案 0 :(得分:1)
简单的答案:您无法重新运行Future。
未来只能完成一次。此外,Future表示异步计算的 result 。我是这样想的:您运行一个 task 返回一个令牌(将来)。任务完成时,它将在Future上设置值。
最重要的是,Future只能设置一次其值,不能用2个不同的值来完成(即使由其表示结果的任务也是如此)。一旦设置了一个值,它将始终保存相同的值,并且不允许修改。
根据您的情况,您需要再次致电 import { mapGetters } from 'vuex'
export default {
// ...
computed: {
// mix the getters into computed with object spread operator
...mapGetters([
'doneTodosCount',
'anotherGetter',
// ...
])
}
}
If you want to map a getter to a different name, use an object:
...mapGetters({
// map `this.doneCount` to `this.$store.getters.doneTodosCount`
doneCount: 'doneTodosCount'
})
。
如果您有一个可能返回多个值的函数,则可以使用fetchData
,但是这种方法不适合您的问题。