javascript - 我可以在等待异步函数时设置变量值吗?
问题描述
我有一个异步函数fileUpload()
,它将文件上传到服务器并在完成后返回一个承诺。当用户想要提交不同的表单时,submitForm()
会await fileUpload
在发布表单之前。
在等待时await fileUpload
,我想告诉用户系统正在等待上传完成。这是我想象的(但显然行不通):
async fileUpload() {
await Promise.all(
// Does a for loop here and uploads all files
)
}
async submitForm() {
const FormBody = new FormData();
await fileUpload; // I want to set this.IsUploading = true if awaiting. If not awaiting, then this.IsUploading = false;
this.$axios.post('/api', FormBody)
}
我await fileUpload
不使用括号,因为如果我这样做,await fileUpload()
那么它会再次调用该函数。但是,我如何this.IsUploading
在true
等待fileUpload()
完成时设置为,然后false
在没有更多等待的情况下将其设置为?
解决方案
也许只是在调用前后设置变量await
?
this.IsUploading = true;
await fileUpload;
this.IsUploading = false;
推荐阅读
- sql - 将计数器参数传递给 postgres sql 脚本
- sql-server-2016 - 如何/我可以在连接字符串中指定 SQL Server Native Client OLE DB (SQLNCLI) 的版本
- android - 在通知中将播放按钮更改为暂停按钮
- parameter-passing - V10 将 One2Many 值传递给瞬态模型 One2Many(来自 onchange 的 TypeError 和默认的 DataError)
- c# - C#-Selenium - Windows 文件上传窗口冻结
- apache-spark - 在 k8s 上运行 spark 作业时无法从 GCP 存储桶中提取 jar
- excel - 打开文件 Excel 时如何禁用弹出窗口
- swift - 如果出现错误/消息,如何在所有 ViewModel 的 SwiftUI 中显示/重用相同的视图(警报)?
- gdb - 为 android 构建 gdb 和 gdbserver
- visual-studio - 使用 Visual Studio 进行 Fortran 单元测试