我正在嘗試從 S3 對象中獲取數據并將其放入數組中。我計劃通過這個數組映射并在網格/列表中的 React 前端顯示數據。不過,我正在為嵌套函數而苦苦掙扎,因此我將不勝感激。const dataFromS3 = async (bucket, file) => {let lines = [];const options = { Bucket: bucket, Key: file };s3.getObject(options, (err, data) => {if (err) { console.log(err);} else { let objectData = data.Body.toString('utf-8'); lines.push(objectData); console.log(lines); return lines;} });};格式化有點奇怪,但這是我從 s3 獲取數據的功能。我想以數組的形式獲取此函數的輸出并將其傳遞給我正在測試的“/”路由:app.get('/', async (req, res, next) => {try { let apolloKey = await dataFromS3(s3Bucket, apolloKeywords); res.send(apolloKey); } catch (err) { console.log('Error: ', err); }});似乎s3.getObject函數中的行的返回值需要在第一個函數中返回,以便我可以在 app.get 中訪問它,但經過一些嘗試后我似乎無法做到這一點。如果我在datafromS3()的末尾返回它,那么行中的值將變成一個空數組,并且我找不到返回它的方法。我也嘗試使用此處找到的方法使用 Promise - How to get response from S3 getObject in Node.js? 但我得到一個 TypeError: Converting Circular Structure to JSON ...
將 s3 對象數據放入數組 - 節點
白板的微信
2022-05-14 15:18:44