javascript - AsyncAwait 不等待获取响应

标签 javascript java reactjs asynchronous async-await

我在使用 aysnc 和 wait 执行 API 调用时遇到问题。我正在使用 fetch 方法调用 Spring Boot 服务,该服务在上传文件后返回 JSON 字符串。在获取上传文件数据的状态之前,正在执行下一个代码。帮助我解决问题。下面是我写的代码 -

endProgressSimulation(uploadingFiles) {
        this.setState(({ acceptedFiles }) => {
            const updatedFiles = acceptedFiles.map(file => {
                if (uploadingFiles.map(loadingFile => loadingFile.name).includes(file.name)) {
                    const formData = new FormData();
                    formData.append('file', file);

                    const requestAwait = async() => {
                        console.log("Sending fetch");
                        const response = await fetch('http://localhost:5002/Upload/',{
                            method: 'post',
                            body:formData
                             })
                             console.log("Got response...");
                        const json = await response.json();
                        console.log("async/await based");
                        console.log(json);
                    }
                    requestAwait();

                    file.uploaded = true;
                    return file;

                } else {
                    file.uploaded = false;
                    return file;
                }
            });
            return { acceptedFiles: updatedFiles };
        });
}

请帮助实现等待上传过程完成的功能。提前致谢。

最佳答案

requestAwait 正在等待 fetch,但调用方函数未在等待 requestAwait

此外,对于多个并行 API 调用,我认为使用 Promise.all() 而不是 async-await 配方会更好。

关于javascript - AsyncAwait 不等待获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57922556/

相关文章:

具有多个值的 Java hashmap

java - 用于rollingFileAppender 的log4jappender.setAppend 不起作用?

javascript - 如何获取对象 props 函数调用者?

javascript - 将路由动态导入 Vue 路由器

javascript - 通过 javascript api 调用(不是节点)获取 Stripe 客户信息,如何?

javascript - 如何动态设置分类轴标题?

installation - 为什么 JDK 的每个新版本都有自己的安装目录?

reactjs - 如何将 redux 存储从一个组件传递到另一个组件?

javascript - ReactJS:维护父子之间的数据状态

javascript - 如何用其他文本替换正则表达式 {{someText}}?