2015-07-13 6 views
5

PapaParse ma funkcję zwrotnego asynch dla swojego interfejsu API. Zastanawiałem się, jak mogę przekonwertować to na obietnicę. Na przykład:Jak korzystać z obietnic z PapaParse?

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

Każda pomoc będzie doceniona!

Odpowiedz

11

Podstawowy wzór jest

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

Następnie

Papa.parsePromise(fileInput.files[0]) . 
    then(function(results) { console.log(results); }); 
+0

jak miałbym poradzić sobie z porcjami w tym przypadku? –

0

Chyba może być używany z wszelkiego rodzaju odmian, przytaczam ciąg do analizowania chociaż można go używać z ścieżka pliku lub adres 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); 
    }); 
};