我正在使用 Express js,我正在尝试使用“jimp”包下载和调整图片大小,然后将主题存储在数组(res)中,以便稍后在数据库中存储新路径。我的问题是 async / await 不能按预期工作:日志出现在调整大小之前
var Jimp = require("jimp");
const pics = require("./pics.json");
async function download_resize(obj) {
let res = []
await pics.data.map(async(k,j)=>{
await k.urls.map(async(u,i)=>{
await Jimp.read(u, async (err, lenna) => {
if (err) {
throw err;
} else {
await lenna
.cover(500, 300) // resize
.quality(100)
.write("./public/1_" + i + "f.jpg"); // save
res.push([null,j,"500_"+j+"_"+i+".jpg"])
}
});
})
})
console.log(JSON.stringify(res))
}
download_resize(pics);
照片看起来像
{
"data":[{"id":1,"urls":[links ....]}]
}