为什么此函数回调无法正确执行?

时间:2019-02-05 18:43:02

标签: javascript node.js

我想在我的新项目中测试功能。 基本上,我可以上传图像,将它们存储为base 64,然后对其进行解码。 我正在使用b64-img来做到这一点。 我有下面的代码来测试其工作原理:

使用“ base64Sync”或“ base64Img.imgSync”似乎没有任何改变。

var base64Img = require('base64-img');
var fs = require ('fs');
module.exports = {
toBase64: function (rImage) {
    base64Img.base64(rImage, function (err, data) {
        if (err) {
            console.log(err);
        } else if(typeof data !== 'undefined') {
           return data;
        }
    })
},

fromBase64: function (rData){
    base64Img.img(rData, './private/img', '1', function(err, filepath) {
        if(err){
            console.log(err);
        }
    });
},

main: function(rTruc){
    var temp = this.toBase64(rTruc)
    this.fromBase64(temp);
}

}

我正在调用main('path / to / image /'),但在调试时它会在第5行停止,然后跳转到“ from base64”函数,这将使服务器崩溃,因为rData未定义为“ toBase64”的回调从未执行。 相反,它应该在“ ./private/img/”中创建文件“ 1.jpg”

0 个答案:

没有答案