2016-08-30 6 views
0

$ getを使用してjqueryでファイルをロードしようとしていますが、関数をコールバックしてクエリの結果を待つことができます。

私は以下を試しましたが、うまくいかないようです。

filename = "./moonlight_sonata_diameter.data"; 
    items = readData(filename, callback); 

    function readData(filename, callback) { 

    $.get(filename, function(data) { 
     items = data.split(/\r?\n/).map(pair => pair.split(/\s+/).map(Number)); 
     callback(items); 

    }); 
    } 

See the full code on Plunker.

+1

コードにコールバックという関数がありますか? –

答えて

1

あなたのコールバック関数を定義したことはありません。サイドノートでは

var filename = "./moonlight_sonata_diameter.data"; 
 

 
    var fn_callback = function(items) { 
 
    // do what you need to do with your items here ... 
 
    } 
 
    
 
    // pass the callback function "fn_callback" as a parameter to readData() 
 
    readData(filename, fn_callback); 
 

 
    function readData(filename, callback) { 
 
    $.get(filename, function(data) { 
 
     var items = data.split(/\r?\n/).map(pair => pair.split(/\s+/).map(Number)); 
 
     callback(items); 
 
    }); 
 
    }

:あなたは、グローバル変数や関数のパラメータに同じ名前を使用しないでください。

+0

ありがとう、私はこれを試したが、まだ動作していないようです:http://plnkr.co/edit/9XVbEU?p=preview – dorien

+0

問題は他のコードです。 'plot1.setCrosshair()'と 'plot1.move()'が定義されていないので、あなたが変更したコードに到達することはありません。私はこれらの行を削除し、コールバックコードが動作します。このような問題を特定して解決するには、ブラウザのコンソールを使用してください。 –

関連する問題