【发布时间】:2020-02-27 15:44:30
【问题描述】:
我无法让异步等待函数在节点 js 中工作。我使用node canvas repository 加载本地图像。当试图访问返回的值时,它仍然是一个 Promise,即使我在等待它。如何修复代码?
async function loadMyLocalImage() {
const img = await loadImage("pathToMyImage/img.jpg"); // loadImage is a function from node canvas package https://github.com/Automattic/node-canvas#loadimage
return img;
}
let localImage = loadMyLocalImage();
console.log(localImage); // returns: Promise { <pending> }
const canvas = createCanvas(200, 200);
const ctx = canvas2.getContext("2d");
ctx.drawImage(localImage, 0, 0);
此代码抛出错误:
ctx.drawImage(localImage, 0, 0);
^
TypeError: Image or Canvas expected
因为此时 localImage 仍然是一个 Promise。
在执行下一个函数之前,如何等待我的 Promise 在这段代码 sn-p 中解析?
【问题讨论】:
标签: javascript node.js canvas async-await