Javascript Amazon S3 putobject用于将文件上载到S3,不返回承诺

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

我有一个函数,它使用Amazon S3 putobject将文件上载到S3,但这不会返回一个承诺,我需要等待成功完成,然后才能加载一个带有结果的模式(成功或失败)

我已经在s3函数上尝试了各种异步等待承诺排列,但是没有一种能与.on httpUploadProgress一起工作

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)