Javascript Express.js/Multer。在onFileUploadComplete完成之前发送的响应

Javascript Express.js/Multer。在onFileUploadComplete完成之前发送的响应,javascript,express,multer,Javascript,Express,Multer,我正在使用以下内容进行文件上载服务: onFileUploadStart: function (file) { uploadPath = ""; imageDimensions = null; console.log(file.originalname + ' is starting to upload...'); }, onFileUploadComplete: function (file) { uploadPath =

我正在使用以下内容进行文件上载服务:

onFileUploadStart: function (file) {
        uploadPath = "";
        imageDimensions = null;
        console.log(file.originalname + ' is starting to upload...');
    },
onFileUploadComplete: function (file) {
        uploadPath = file.path;
        uploadPath = uploadPath.replace(/\\/g,"/");
        console.log("Upload complete. " + file.fieldname + ' uploaded to  ' + file.path)
        sizeOf(file.path, function (err, dimensions) {
            if (err){
                console.log("ERROR, Can't get size of image! " + err);
                return;
            }
            else{
                imageDimensions = { 
                    width : dimensions.width,
                    height: dimensions.height
                };
                console.log("Size of image: width: " + imageDimensions.width + ". height: " + imageDimensions.height);
            }

        });
    }

}))

据我所知()onFileUploadComplete是在执行.post处理程序之前首先处理的。但是,我的控制台显示:

a.jpg is starting to upload...
Upload complete. file uploaded to uploadeddata\a1235412.jpg
response is being send..
Size of image: width: 2835, height: 1654
因此,似乎就在onFileUploadComplete函数的中间,.post处理程序已经被执行


有什么办法可以解决这个问题吗?

好的,知道了。。。我使用的sizeOf函数是异步的

var dimensions = sizeOf(file.path);
是同步版本

var dimensions = sizeOf(file.path);