Javascript Amazon S3 putobject用于将文件上载到S3,不返回承诺
我有一个函数,它使用Amazon S3 putobject将文件上载到S3,但这不会返回一个承诺,我需要等待成功完成,然后才能加载一个带有结果的模式(成功或失败) 我已经在s3函数上尝试了各种异步等待承诺排列,但是没有一种能与.on httpUploadProgress一起工作Javascript Amazon S3 putobject用于将文件上载到S3,不返回承诺,javascript,amazon-web-services,amazon-s3,async-await,Javascript,Amazon Web Services,Amazon S3,Async Await,我有一个函数,它使用Amazon S3 putobject将文件上载到S3,但这不会返回一个承诺,我需要等待成功完成,然后才能加载一个带有结果的模式(成功或失败) 我已经在s3函数上尝试了各种异步等待承诺排列,但是没有一种能与.on httpUploadProgress一起工作 s3.putObject(params) .on("httpUploadProgress", (progressEvent, response) => { c
s3.putObject(params)
.on("httpUploadProgress", (progressEvent, response) => {
const percent = parseInt(
(100 * progressEvent.loaded) / progressEvent.total
)
setuploadprog(percent)
if (percent === 100) {
setuploadsuccess(1)
}
})
.send((err, data) => {
if (err) {
console.log(err, err.stack)
setuploadsuccess(2)
} else {
console.log(data)
}
})
不要通过回调调用
send
。请改用promise
方法:
s3.putObject(params)
.on("httpUploadProgress", (progressEvent, response) => {
const percent = Math.floor(progressEvent.loaded / progressEvent.total * 100);
setuploadprog(percent)
})
.promise()
.then(data => {
setuploadsuccess(1);
return data;
}, err => {
setuploadsuccess(2);
throw err;
});
我自己解决这个问题。嗨,Bergi,我想把退货承诺添加到州政府。有可能吗?当然可以,只要
返回就行了?对不起,我是新来的。你能用代码示例解释一下吗?不,我想我不明白你在找什么。你到底想对这个承诺做什么?您想在哪里等待它?请包括更多的代码,或者如果它是一个单独的主题。我不希望模型在上传文件之前被点燃,它仍然在燃烧
...await s3
.putObject(params)