javascript - 在繁重的任务中单击后微调器不显示/按钮冻结
问题描述
我有一个看起来很简单的问题,但我找不到解决方案。
我有一个带有选择按钮和图表的页面。当我选择一个选项时,会调用 updateGraph 方法。在这种方法中,我更改了数据 this.loading 以显示微调器而不是图表。
第一个问题:微调器不显示。第二个问题:任务比较长,选择按钮也被阻塞(没有关闭)。
我尝试使用 async/await 但它没有改变任何东西。
我不知道这是否可能,或者我是否以错误的方式做事。提前感谢您的帮助和建议。
<v-select [...] @change="updateGraph"></v-select>
<v-row v-if="!processingDatas">
[...] No problem
<v-row v-else justify="center" class="pa-5">
<v-progress-circular
:size="70"
:width="7"
color="accent"
indeterminate
></v-progress-circular>
</v-row>
data() {
return {
processingDatas: false,
...
}
updateGraph() {
this.processingDatas = true
this.formatFlux().then(() => {
this.processingDatas = false
})
},
async formatFlux() {
[...]
// long task
// it takes few seconds
return await Promise.resolve()
},
解决方案
推荐阅读
- node.js - Gulp“任务从未定义:默认”
- php - 在 laravel 中延迟作业 - 调用未定义的函数 curl_init()
- r - 是否有 R 函数来解决这里的正确数据类型?
- c# - 将 JSON 字段转换为控制器 DateTime 参数 .NET WEB API
- javascript - 无法创建新的 Microsoft 用户 Firebase 身份验证
- c# - 如何检查路径中是否有文件夹并在c#中打开它们
- laravel-8 - 如何在laravel中建立事件和工作之间的联系?
- c# - Gettig 使用 Visual Studio 2017 和 Xamarin 的空白 IMEI
- reactjs - 我该怎么做才能让组件渲染一次?
- javascript - [react-tsx]错误:使用砌体组件时无法在未安装的组件上找到节点