我已经编写了Google Cloud函数,该函数从存储桶中读取文件,然后返回内容。
async function getFileContent(fileName, bucketName) {
const storage = new Storage();
const file = await storage.bucket(bucketName).file(fileName);
file.download(function(err, contents) {
console.log("file err: "+err);
console.log("file data: "+contents); //contents is displaying data here
return contents;
});
}
//cloud function starts
exports.getdata = async function(req, res) {
var filecontent = await getFileContent("file1", "bucket1");
console.log("outside "+filecontent); //displaying as undefined
));
}
我要执行console.log(“ outside” + filecontent);只有在处理后getFileContent返回值一次。
答案 0 :(得分:0)
我在这里犯了一个小错误,必须将await
保留为file.download
,就像我上面提到的查询一样,我在storage.bucket(bucketName).file(fileName);
处等待
async function getFileContent(fileName, bucketName) {
const storage = new Storage();
const file = storage.bucket(bucketName).file(fileName);
content = await file.download(function(err, contents) {
console.log("file err: "+err);
console.log("file data: "+contents); //contents is displaying data here
return contents;
});
}
进行更改后,上面的代码可以正常工作。不知道为什么不赞成改正错误。