【发布时间】:2020-04-01 21:18:52
【问题描述】:
由于折旧,我正在尝试将我的代码更新为以下 2 个包:
https://www.npmjs.com/package/@azure/storage-blob https://www.npmjs.com/package/@azure/cosmos
我遇到的问题是我的代码当前使用的是异步/等待前的包,而新包的所有文档都假定使用异步函数。
我想更新我的代码函数,但不使用异步函数对其进行重组。有没有关于如何做到这一点的文档?或者有什么简单明了的例子?
例如,我正在使用这个例子来上传一个 blob:
const { DefaultAzureCredential } = require("@azure/identity");
const { BlobServiceClient } = require("@azure/storage-blob");
const account = "<account>";
const defaultAzureCredential = new DefaultAzureCredential();
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
defaultAzureCredential
);
const containerName = "<container name>";
async function main() {
const containerClient = blobServiceClient.getContainerClient(containerName);
const content = "Hello world!";
const blobName = "newblob" + new Date().getTime();
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
const uploadBlobResponse = await blockBlobClient.upload(content, content.length);
console.log(`Upload block blob ${blobName} successfully`, uploadBlobResponse.requestId);
}
main();
我想在没有 async/await 的情况下这样做,对于 blockBlobClient.upload 使用 function(err, result){ do stuff},因为我的代码已经有了。
同样,我想使用@azure/cosmos 函数来实现。
我目前的包裹是:
https://www.npmjs.com/package/documentdb https://www.npmjs.com/package/azure-storage
这可能吗?
我真的不想重组我所有的代码......
谢谢
【问题讨论】:
-
请问您为什么不想异步?据我所知,Azure 函数支持异步。更多详情请参考docs.microsoft.com/en-us/azure/azure-functions/…
-
@JimXu 我正在尝试更新我的代码,因为以前的软件包正在贬值。但我不想重写我以前的所有代码(这是预异步的),因为这需要很长时间......
-
据我所知,新的sdk返回Promise,我们需要使用await调用函数
标签: node.js azure azure-cosmosdb azure-blob-storage azure-sdk