Compare commits

...

2 Commits

Author SHA1 Message Date
776c9a8f40 Relecture code 2021-10-07 18:10:03 +02:00
318353c862 Revue appel asynchrone à Papa Parse. 2021-10-07 18:09:15 +02:00
2 changed files with 22 additions and 26 deletions

View File

@ -94,30 +94,30 @@ export class ParserForCSV implements Parsers
}
// async dans le cas d'une source distante
// Et création d'une Promise car PapaParse utilise une fonction callback.
public async parse(): Promise<any>
{
// Et création d'une Promise car PapaParse utilise des fonctions callback.
public async parse(): Promise<any>
{
const parser=this, options=this.options;
let parseContent="";
if(parser._datasRemoteSource.url !== "")
{
parseContent=parser._datasRemoteSource.url;
this._privateOptions.download=true;
this._privateOptions.withCredentials=parser._datasRemoteSource.withCredentials;
if(parser._datasRemoteSource.headers !== undefined)
{
this._privateOptions.downloadRequestHeaders={};
for(let i=0; i< parser._datasRemoteSource.headers.length; i++)
this._privateOptions.downloadRequestHeaders[parser._datasRemoteSource.headers[i].key]=parser._datasRemoteSource.headers[i].value;
}
}
else if(parser._datas2Parse !== "")
parseContent=parser._datas2Parse;
else
throw new Error(errors.parserNeedSource);
return new Promise((resolve,reject) =>
{
let parseContent="";
if(parser._datasRemoteSource.url !== "")
{
parseContent=parser._datasRemoteSource.url;
this._privateOptions.download=true;
this._privateOptions.withCredentials=parser._datasRemoteSource.withCredentials;
if(parser._datasRemoteSource.headers !== undefined)
{
this._privateOptions.downloadRequestHeaders={};
for(let i=0; i< parser._datasRemoteSource.headers.length; i++)
this._privateOptions.downloadRequestHeaders[parser._datasRemoteSource.headers[i].key]=parser._datasRemoteSource.headers[i].value;
}
}
else if(parser._datas2Parse !== "")
parseContent=parser._datas2Parse;
else
reject(new Error(errors.parserNeedSource));
Papa.parse(parseContent,
{
delimiter: options.delimiter,

View File

@ -70,11 +70,7 @@ export class ParserForJSON implements Parsers
headers.append(header.key, header.value);
}
const credentials : RequestCredentials|undefined=(parser._datasRemoteSource.withCredentials) ? "include" : "omit";
const settings={
method: "GET",
headers: headers,
credentials: credentials,
};
const settings={ method: "GET", headers: headers, credentials: credentials };
const response=await fetch(parser._datasRemoteSource.url, settings);
if (! response.ok)
throw new Error(errors.parserRemoteFail);