调用函数的JavaScript函数返回对象

时间:2015-11-04 11:12:48

标签: javascript jquery function object

我有一个像下面这样的函数,但是调用这个函数的函数返回undefined,我不知道为什么。

$.fileReader_g = function(file){
        var reader  = new FileReader(); 
        reader.onloadend = function(){
                return {
                        result:     reader.result, 
                        size:       file.size, 
                        name:       file.name
                }
            }

        if (file){
                reader.readAsDataURL(file);
        } else {
                console.log('Upload Failed');
        }
    }

以上称为以上内容。

$(document).on('change', '.album_art_select', function(){
        var cow = $.fileReader_g($(this)[0].files[0]);
        console.log(cow);
    });

我在哪里错过了这个?

1 个答案:

答案 0 :(得分:1)

您定义了两个函数。

您分配给$.fileReader_g的人。它没有return语句,并且始终会返回undefined

您指定给reader.onloadend的其他人。它确实有一个return语句,但没有什么可以关注它。

另见How to return the response from an asynchronous call?