2015-07-13 123 views
5

PapaParse对于其API的非同步回调函数。我想知道如何将它转换为承诺。例如:如何在PapaParse中使用Promise?

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

任何帮助,将不胜感激!

回答

11

的基本模式是

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); }); 
+0

在这种情况下,我将如何使块运行? –

0

我想它可以与所有类型的变化可以用,我所提供的字符串进行解析时,虽然你可以使用它文件路径或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); 
    }); 
};