如何从回调函数返回[重复项]

问题描述 投票:-1回答:2

我正在处理一些nodejs代码(使用此库https://github.com/gomfunkel/node-exif)。

new ExifImage({image: image}, function (error, exifData) {
                        if (error)
                            console.log('Error: ' + error.message);

                        else {

                            console.log(exifData); // Do something with your data!
                        }
                    });

我的问题是如何在外部检索exifData?我不想将代码嵌入其中,因为它很大。我需要这个是同步的。

谢谢。

javascript node.js callback
2个回答
1
投票
function handleExifData(exifData){
   // Do something with your data!
}

new ExifImage({image: image}, function (error, exifData) {
                        if (error)
                            console.log('Error: ' + error.message);

                        else 
                            handleExifData(exifData);
                    });

0
投票

请注意,回调函数之外的变量也在范围内。您可以使用回调在Line上方创建一个变量,然后在回调中将内容写入其中。

您还必须先执行ypur回调,然后再使用该变量。

希望这会有所帮助:)


-2
投票

您可以执行类似let foo = new ExifImage...的操作,然后将功能包含在else return exifData

© www.soinside.com 2019 - 2024. All rights reserved.