這個問題在這里已經有了答案: 如何從異步呼叫回傳回應 (42 個回答) 15 小時前關閉。
我希望 main() 回傳資料,而不僅僅是控制臺記錄它,如下所示。我該怎么做?
async function main() {
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });
// Call S3 to list the buckets
s3.listBuckets(function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log(data);
}
});
}
main();
uj5u.com熱心網友回復:
嘗試等待listBuckets功能。
改變
s3.listBuckets(function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log(data);
}
});
到
return await s3.listBuckets();
如果這不起作用,您總是可以構建一個手冊Promise并用資料解決它。
async function main() {
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });
return await new Promise((resolve, reject) => {
// Call S3 to list the buckets
s3.listBuckets(function (err, data) {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
}
main();
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/369895.html
