在异步Azure函数中使用“ for await”会产生以下错误:
异常:工作程序无法加载函数HttpTrigger:'SyntaxError:意外的保留字'堆栈:D:\ home \ site \ wwwroot \ HttpTrigger \ index.js:19待命(blobServiceClient.listContainers()的常量容器){^^ ^^^
语法错误:意外的保留字
请注意,async在异步函数内部使用,它应该可以工作:
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request!!!!');
const {ManagedIdentityCredential } = require ("@azure/identity")
const { BlobServiceClient } = require("@azure/storage-blob"); // Change to "@azure/storage-blob" in your package
let cred = new ManagedIdentityCredential()
let myStr = ""
const blobServiceClient = new BlobServiceClient(
// When using AnonymousCredential, following url should include a valid SAS or support public access
`https://leonbragtest.blob.core.windows.net`,
cred
);
let i = 1;
(async () => {
for await (const container of blobServiceClient.listContainers()) {
console.log(`Container ${i++}: ${container.name}`);
myStr += `Container ${i++}: ${container.name} `
}
})()
context.res = {
status: 200,
body: "Time is:" + new Date() + "<br/>" + myStr
};
};
删除内部异步包装器后,将生成相同的错误。
我在async函数内部调用await出错了吗?
解决了。正如我所指出的那样,Azure func运行时不支持“等待”。使用iter工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句