Cześć, zaciąłem sie na czymś co pewnie jest proste, tyle, że nie dla mnie.
To, co poniżej to dwie (z wielu) metod klasy. Pierwsza - remoteLoad ma zerealizowac pobranie danych z zewnętrznego źródła, druga -getData- natomiast ma zrealizować takie pobranie i zwrócić dane. w sytuacji kiedy w storage nie ma danych. Jak sie zapewne domyślacie ostatecznie zwracana jest Promise co jest niepożądan, chciałbym mieć konkretna wartość.
Oczysiście w zakresie remoteLoad mam dostęp do właściwych wartości co sobie sprawdzam przez console.log(resp). Tyle, że potrzebuję tych wartości poza nią a nie w niej. Niemożliwe, żeby to nie było realizowalne, jednak wypróbowałem kilka sposobów - prostsze tj. praca na czystych promise, bardziej zaawansowane - axios i jeszcze trochę innych a nie jestem bliżej. Nie miałbym pewnie problemu z wykonaniem jakiejś funkcji na tych danych w zakresie try, ewentualnie pewnie dałoby się zapisac w jakims sztucznym stanie, ale ja to potrzebuję tego po prostu na zewnątrz w takim ukladzie mniej wiecej jak napisałem.
async remoteLoad(){
var that = this;
var result = null;
try {
const x = await fetch('https://api.myjson.com/bins/amapk');
const resp = await x.json();
console.log (resp);
return resp;
}
catch(e){console.log(e)}
}
getData() {
return this.storageService.areInStorage() ? this.storageService.load('localBooks') : this.remoteLoad();
}