首页 > 解决方案 > 如何在 azure blob 服务方法上调用 await?

问题描述

我正在研究 blob 的重命名功能,因为无法重命名 blob 我正在删除 blob 并使用 rename 创建新文件。但是由于异步性质,有时 blob 不会被删除并且新 blob 会被创建,所以我想写两个 blob 服务的异步/等待。如何实现这一点,因为没有回调它会给出错误?

module.rename=function(req,rez){
    return new Promise((resolve, reject) => {
        let results = await genericHandler.getUserSubscMapping();
        if (contentType != 'folder') {
            blobService.startCopyBlob(storageuri, containerName, blobName, err => {
                if (err) {
                    return res.status(500).send("Error while renaming the blob");
                } else {
                    blobService.deleteBlobIfExists(containerName, oldFilePath, (err) => {
                        if (err) {
                            console.log(err);
                            reject(err)
                            return res.status(400).send(err);
                        } else {
                            res.status(200).json({
                                status: 'success'
                            });
                        }
                    });
                }
            });
        }
    });
}

试过的代码:

let res1 = await blobService.startCopyBlob(storageuri, containerName, blobName);//////error : Required argument callback for function startCopyBlob is not defined

我使用回调的旧代码工作正常但是我想先获取这个结果然后执行下一个操作,搜索 blob 服务上的异步/等待,但似乎没有找到任何文章。

标签: node.jsazureexpressazure-blob-storage

解决方案


推荐阅读