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!
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); });
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);
});
};