0

プラグインを使用して画像のサイズを変更しcanvasResize、処理されたBlobデータを返す次のコードがあるとします。

変数のを現在の場所に置くと、alertnullにはなりません。ただし、関数の最後に返される直前に変数を調べようとすると、nullになります。fff

function resizeFile(file){
    var f=null;
    $.canvasResize(file,
        {
            width: 400,
            height: 0,
            crop: false,
            quality: 100,
            callback: function (data)
                {
                    // Add file data
                    f = $.canvasResize('dataURLtoBlob', data)
                    if(f!=null){
                                alert(f)
                            }
                            else{
                                alert("file blob is null")
                            }
                    $('body').css("background", "url("+data+")")
                }
        });


        return f;
    }
4

1 に答える 1

2

コードでは、f変数はcallback、サイズ変更が行われた後に実行される関数で初期化されます。

したがって、return f最初にが呼び出され、次にcallback関数が呼び出されるため、になりますnull

于 2013-03-04T03:44:54.787 に答える