2017-10-14 168 views
0

我無法從PapaParse獲取數據。文檔說函數不返回任何東西。我想將這些數據保存在局部變量中。此代碼:使用來自papaparse的提取數據

papaparse.parse(myData, { 
      download: true, 
      delimiter: '\t', 
      complete: function (results) { 
      console.log(results.data); 
      } 
     }); 

什麼,我試圖做

 let newRes; 
     papaparse.parse(myData, { 
      download: true, 
      delimiter: '\t', 
      complete: function (results) { 
      console.log(results.data); 
      newRes = results.data; 
      } 
     }); 
console.log(newRes); //undefined 
+2

可能重複[如何從異步調用返回響應?](https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an - 異步調用) – Andreas

回答

1

這裏的問題是,CONSOLE.LOG(newRes)時,被稱爲可變newRes未分配呢,。文件的加載和解析在另一個時間(之後)執行console.log(...)時執行。

沒有其他的選擇,除了做完所有你想做的事情以及完成回調的結果。

爲了使代碼看起來更乾淨,您可以執行以下操作。

function handleResult(results) { 
    console.log(results.data); 
    // ... do your logic here 
} 

papaparse.parse(myData, { 
     download: true, 
     delimiter: '\t', 
     complete: handleResult 
}); 
+0

現在它說''handleResult'沒有定義no-undef' – EnzyWeiss

+0

哦,對不起,我沒有使用'this'。它很好,非常感謝你 – EnzyWeiss