待ち

2017-12-20 17 views
1

私はここにを、この機能を使用しています二回http://papaparse.com/待ち

Papa.parse("http://example.com/file.csv", { 
    download: true, 
    complete: function(results) { 
     console.log(results); 
    } 
}); 

両方のファイルは、私が別の関数を実行したい準備ができたら、両方の結果に依存します。私はマーカーで地図をスタイリングしています。

私はJavaScriptの約束について考えました。あなたは、2 csvファイル/ URLを持っている場合のように誰が私に手を差し伸べることができますか?

は現在、私は以下のライブラリが作動している:How to use Promises with PapaParse?は しかし、私はそれが2で動作するためのコードをどこに置くかを見つけ出すことはできません。

Jquery 3.2.1 
Papa Parse 4 

最後には、私の知りますまたはそれ以上のファイル。

答えて

2

古いブラウザで、本来の約束や矢印の機能を持たないブラウザーやポリフィルを使用する必要がある場合は、次のコードを使用できます。

あなたはURLの配列を持っている場合は、この操作を行うことができます。

urls = ['path1.csv','path2.csv'] 

Promise.all(//pass array of promises to Promise.all 
    urls//you have an array of urls 
    .map(//map urls to promises created with parse 
    url=> 
     new Promise(//create one promise 
     (resolve,reject)=> 
      Papa.parse.parse(
      url, 
      { 
       download: true, 
       complete:resolve,//resolve the promise when complete 
       error:reject//reject the promise if there is an error 
      } 
     ) 
    ) 
) 
) 
.then(
    function (results) { 
    console.log(results[0]) // log result from file 1 
    console.log(results[1]) // log result from file 2 
    } 
) 
.catch(//log the error 
    err=>console.warn("Something went wrong:",err) 
) 
+0

ありがとう!私はあなたのコードを修正しました(私は現在のコードで編集しました)。私が行った変更には何か欠点がありますか? –

+0

@AntonvBRうまくいくはずですが、私は 'download:true'が何をすべきか分かりません。 – HMR

+0

私はどちらも、Googleスプレッドシートとローカルファイルで使用できます。 –