我正在尝试使用 async.js 来管理应用程序中的回调。下面是该代码的示例。但是,我遇到了一个问题,即一系列函数在前面的函数之一完成之前继续执行。例如,当 saveImageData() 触发时,resizeImage() 函数仍在工作。但我的意图是仅在调整大小后保存图像。async.js 不应该处理这个吗?如果我必须将回调传递给 resizeImage() 使用 async.js 的价值是什么?有人可以在我给出的示例中展示使用异步库如何有帮助吗?
if (req.files) {
//removed some code not relevant to the question
async.series([
function (callback) {
model.saveImageData(tempPath, originalImage, s3Headers);
callback(null);
},
function (callback) {
var src = tempPath;
dst = path.dirname(tempPath) + "\\" + newImage;
model.resizeImage(src, dst);
callback(null);
},
function (callback) {
//the next function gets called before resizeImage() finishes executing
model.saveImageData(dst, newImage, s3Headers);
callback(null);
}
]);
}