由于折旧,我试图将代码更新为以下2个软件包:
https://www.npmjs.com/package/@azure/storage-blobhttps://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();
我想在没有异步/等待的情况下这样做,对于blockBlobClient.upload
,请使用function(err, result){ do stuff}
作为我的代码。
类似地,我想使用@azure/cosmos
函数来这样做。
我当前的包裹是:
https://www.npmjs.com/package/documentdbhttps://www.npmjs.com/package/azure-storage
这可能吗?
我真的不希望重组我的所有代码...
谢谢
对于任何返回承诺的方法,您仍然可以使用回调方法:
blockBlobClient.upload().then((response) => {
// do something with the response...
});