如何在nodejs中使用异步等待?使用异步等待时出错



我已经编写了谷歌云函数,它从bucket中读取文件,然后返回内容。

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在处理后返回值。

我在这里犯了一个小错误,必须为file.download保留await,就像在上面提到的查询中一样,我在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;
});
}

进行此更改后,上面的代码运行良好。不知道为什么它被否决而不是纠正错误。

相关内容

  • 没有找到相关文章

最新更新