我正在使用 gm 并尝试根据其大小处理图像。由于“size”getter 需要回调函数,所以我不能在以下几行中使用 size。
我想做的是这样的:
function processImage(url) {
var img = gm(this.getImgStream(url));
var width, height;
img.size(function(err, val) {
width = val.width;
height = val.height;
});
// I want to use width here, but it's undefined when this line is executed.
if (width > 500) width = 500;
return img.resize(width)
}
我想在以下调整大小方法中使用宽度。有什么方法可以同步获取大小或等待回调完成?我不想尽可能长时间地使用 ivars。