Azure 在同步函数中使用wait
我正在使用PdfMake库,并将pdf作为流发布在azure blob中Azure 在同步函数中使用wait,azure,async-await,synchronous,Azure,Async Await,Synchronous,我正在使用PdfMake库,并将pdf作为流发布在azure blob中 pdfMake.createPdf(fullContentForPDF).getBuffer(function (result) { const stream = getStream(result) const containerClient = blobServiceClient.getContainerClient(containerName) c
pdfMake.createPdf(fullContentForPDF).getBuffer(function (result) {
const stream = getStream(result)
const containerClient = blobServiceClient.getContainerClient(containerName)
const blockBlobClient = containerClient.getBlockBlobClient(blobName)
try {
await blockBlobClient.uploadStream(stream, uploadOptions.bufferSize,
uploadOptions.maxBuffers,
{ blobHTTPHeaders: { blobContentType: 'application/pdf' } }
)
const url= blockBlobClient.url
} catch (err) {
context.res = {
status: 400,
body: `error occured and it is: ${err}`
}
}
})
我需要在同步函数中使用await关键字,因为我需要等待文件发布到azure blob并获取blob的uri,因此,我必须使用await关键字
我尝试过使用自执行函数,但没有得到consturl=blockBlobClient.url
值
问题:
如何在同步函数中使用wait获得
const url=blockBlobClient.url
?wait关键字必须与异步函数一起使用,并且您正在使用的wait函数必须返回一个承诺。例如
async function waitForCall() {
await makeCall();
console.log("finished")
}
function makeCall(){
return fetch(....)
}