アプリケーションでコールバックを管理するために async.js を使用しようとしています。以下はそのコードの例です。ただし、前の関数の 1 つが完了する前に、一連の関数が実行され続けるという問題に遭遇しました。たとえば、resizeImage() 関数は、saveImageData() が起動したときにまだ機能しています。しかし、私の意図は、サイズを変更した後にのみ画像を保存することです。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);
}
]);
}