Я боролся со следующим: у меня есть приложение ioni c на основе angular, и я пытаюсь кэшировать результаты для автономного использования. Мне не нужно (обязательно) проверка в режиме онлайн / офлайн, поскольку я думаю, что могу справиться с этим самостоятельно.
Поставщик инъекционных / почтовых услуг
import { Http, Headers, RequestOptions } from "@angular/http";
import "rxjs/add/operator/map";
//import {Observable,of, from } from 'rxjs';
@Injectable()
export class PostProvider {
//private records$: Observable<Record[]>;
server: string = "https://server/api_endpoint/";
constructor(public http: Http) {}
postData(body, file) {
let type = "application/json; charset=UTF-8";
let headers = new Headers({ "Content-Type": type });
let options = new RequestOptions({ headers: headers });
return this.http
.post(this.server + file, JSON.stringify(body), options)
.map(res => res.json());
}
}
Компонент
В компоненте я использую aksi для инструкций CRUD по отношению к API
loadCustomer() {
return new Promise(resolve => {
let body = {
aksi: "getdata",
user: this.username
};
this.postPvdr.postData(body, "proses-api.php").subscribe(
data => {
for (let customer of data.result) {
//this.customers.push(customer);
this.logn = customer.nume;
this.logn = customer.pret;
this.comis = customer.comis +' %';
this.rhg = customer.rhg;
this.pdg = customer.pdg;
this.ptg = customer.ptg;
this.defaultList.push(customer);
}
//defaultList is used to serve up the data into an autocomplete field
this.completeTestService.customerList = this.defaultList;
resolve(true);
},
);
});
}
У меня нет прав до angular так что я едва понял концепцию Observables из быстрых ссылок. Я пытался создать его с помощью $ cacheFactory , но это ошеломило. Последовал видеоролик о том, как это сделать, но он оказался для предыдущих angular версий. Наткнулся на это
image
И когда я попытался его реализовать, получилось Generic type 'Record' requires 2 type argument(s)
Если для написания кода требуется слишком много, любой пример как это должно работать или (ясно) документация будет благословением. Потратив на это часы, я чувствую себя глупо.