How to use Promises with PapaParse?

2019-02-13 12:03发布

PapaParse has an asynch callback function for its API. I was wondering how I can convert it to a promise. For eg:

Papa.parse(fileInput.files[0], {
    complete: function(results) {
        console.log(results);
    }
});

Any help would be appreciated!

2条回答
聊天终结者
2楼-- · 2019-02-13 12:37

The basic pattern is

Papa.parsePromise = function(file) {
  return new Promise(function(complete, error) {
    Papa.parse(file, {complete, error});
  });
};

Then

Papa.parsePromise(fileInput.files[0]) .
  then(function(results) { console.log(results); });
查看更多
太酷不给撩
3楼-- · 2019-02-13 12:40

I guess it can be used with all kind of variations, I am providing the string to parse although you can use it with file path or url :

  const parseData = (content) => {
  let data;
  return new Promise( (resolve) => {
    Papa.parse(content, {
      header: true,
      delimiter: ',',
      dynamicTyping: true,
      complete: (results) => {
        data = results.data;
      }
    });
    resolve(data);
  });
};
查看更多
登录 后发表回答