簡體   English   中英

我的 graphql 解析器與 aws s3 函數在 heroku 上返回 h18 錯誤?

[英]my graphql resolver with aws s3 functions returning h18 error on heroku?

我的代碼是這樣的:

try {
      s3.putObject(params);
      await admin.auth().updateUser(contextUser.uid, {
        photoURL: awsPhotoURL,
      });
      if (contextUser.picture) s3.deleteObject(deleteParams);
      return {
        message: 'Success',
        success: true,
        file,
        fileName,
      };
    } catch (error) {
      console.log('error: ', error);
      return {
        message: error.message,
        success: false,
        file: null,
        fileName: null,
      };
    }

基本上我在本地主機上沒有收到錯誤,上傳操作按預期工作,但是一旦它已經投入生產,我就會收到 h18 錯誤。 我試圖將 await 放在這樣的 s3 操作上:

await s3.putObject(params);

但我會收到警告,例如:

'await' 對這個表達式的類型沒有影響。

我的代碼有什么問題?

要將 promises/await 與aws-sdk一起使用,您需要使用 promisified 版本:

s3.putObject(params).promise()

然后await應該按預期工作。

此處查看有關承諾的文檔(實際上有一個 S3.putObject() 示例)

我不確定這會解決您的實際問題,但這是一個開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM