ed il secondo un service per le chiamate API:
Il problema è che partono entrambi contemporaneamente e quindi il loadConfigurazione() viene chiamato prima che loadJSON() finisca il suo compito. Qualcuno sa come si può risolvere? Online ci sono mille esempi incompleti o datati (usano il toPromise()) e per me che sono nuovo di ste cose è un bagno di sangue!codice:[... tutti gli import...] @Injectable({ providedIn:'root' }) export class ApiService { private static server:string="http://localhost/cama/codexServer/server.php/api/"; public constructor(private http: HttpClient) { } public getConfigurazioni() { console.log("loadConfigurazione"); console.log("CONFIG", AppConfigService.settings) const risorsa:string[] = ["configurazioni"]; const rit=this.richiestaGenerica(risorsa, "GET"); console.log("RIT", rit); return rit; } protected calcolaUrl(risorsa: (string|number)[]):string { //const server: string = "http://localhost/cama/codexServer/server.php/api/"; const vers:string="v1"; let url:string=ApiService.server+vers+"/"; risorsa.forEach(element => { url=url+element+"/"; }); return url; } protected richiestaGenerica(risorsa: (string|number)[], tipo:string|null=null, parametri: Object |null=null): Observable<RispostaServer> { tipo= (tipo!=null) ?tipo.toUpperCase() :tipo; switch (tipo) { case "GET": return this.http.get<RispostaServer>(this.calcolaUrl(risorsa)); break; default: return this.http.get<RispostaServer>(this.calcolaUrl(risorsa)); break; } } }
Grazie in anticipo
Rino

Rispondi quotando