我在Typescript中有以下异步函数,似乎await并没有像我期望的那样阻塞并产生所需的结果。
async function getCroppedImgContent(origImgBuffer: Buffer) {
console.log("Inside setCroppedImgContent");
let croppedBuffer = await sharp(origImgBuffer)
.resize(4000, 4000)
.max()
.toBuffer();
console.log("After crop");
return croppedBuffer;
}
"作物"不是在"内部setCroppedImgContent"之后立即打印,但很久以后。看起来像等待不起作用。
答案 0 :(得分:2)
Nenad,你在函数中使用await
的事实并不意味着它将同步执行。 await
只会阻止执行一次调用。
如果您希望在console.log("After setCroppedImgContent");
完成后执行getCroppedImgContent
,则需要await
其电话:
await getCroppedImgContent(origContent)
.then(function (croppedBuffer) {
image.content = croppedBuffer;
console.log("Set image content");
});