2017-10-14 167 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