ed il secondo un service per le chiamate API:
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;
        }
    }


}
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!
Grazie in anticipo
Rino