PapaParse的API具有异步回调函数。我想知道如何将其转化为承诺。例如:
COPY
任何帮助将不胜感激!
答案 0 :(得分:18)
基本模式是
Papa.parsePromise = function(file) {
return new Promise(function(complete, error) {
Papa.parse(file, {complete, error});
});
};
然后
Papa.parsePromise(fileInput.files[0]) .
then(function(results) { console.log(results); });
答案 1 :(得分:2)
我想它可以用于所有类型的变体,我提供了解析字符串,尽管你可以将它与文件路径或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);
});
};
答案 2 :(得分:1)
如果您想使用异步/等待...
someButtonClicked = async rawFile => {
const parseFile = rawFile => {
return new Promise(resolve => {
papa.parse(rawFile, {
complete: results => {
resolve(results.data);
}
});
});
};
let parsedData = await parseFile(rawFile);
console.log("parsedData", parsedData);
};