1

私は JavaScript が初めてで、後で取得できるように、ファイルからデータを読み取ってリストに保存しようとしています。何かのようなもの:

サンプル.json

{
  "circles": [
    {"x":14,"y":2,"z":4,"r":50},
    {"x":14,"y":2,"z":4,"r":50}
  ]
}

私が探しているのは:

var circle_list = []
circle_lst = some_function_which_reads_json_from_file('sample.json')
//Now circle list contains
circle_list = [
  {"x":14,"y":2,"z":4,"r":50},
  {"x":14,"y":2,"z":4,"r":50}
]

後で私は次のようなことをすることができます:

for (var i = 0; i <circle_list.lenght;i++){
  //do osmething
}

調べていました

$.getJSON("sample.json" , function(data){
  //
});

しかし、この呼び出しが非同期であることを知りました...しかし、実行順序を維持する必要があります。

4

1 に答える 1

2

実行順序を維持しません。これにより、フェッチ中にブラウザがロックされます。これは絶対的な最後の手段としてのみ使用してください。

var circle_list;
$.ajax({'dataType': 'json', url: 'sample.json', 'async': false})
    .done(function(json) {
        circle_list = json;
});

代わりに、少なくとも他にいくつかのことを行うことができます。

  1. コールバックを操作します。deferred のおかげで、すべてが 1 つの場所にある必要はありません。
  2. ページの残りの部分と一緒に JSON を読み込み、DOM から取得します。
于 2013-02-24T00:38:46.353 に答える