我一直在阅读Stackoverflow上的这个错误,并且有很多帖子,但是我似乎无法找到它的解决方案,或者我可能无法理解它。
以下面的4个导入和构造函数为例,我将尝试解释发生了什么。
import { Storage } from "@ionic/storage"; // I am using this
import { Common } from "../providers/common"; // I am **not** using this
import { CacheService } from "ionic-cache"; // I am using this
import { HttpClient } from "@angular/common/http"; // I am using this
constructor(
public http: HttpClient,
public storage: Storage,
public cmn: Common,
public cache: CacheService ) {
console.log("Hello Service Provider");
}
我将分享下面每个的用法,但在我想在构造函数中提及所有4个参数之前,我只会在2上收到警告。
import { CacheService } from "ionic-cache";
import { Storage } from "@ionic/storage";
导入HttpClient
没有警告,很好,但我不知道为什么,因为我正在访问它,就像我正在访问其他人一样。
最奇怪的是导入Common
,因为我实际上并没有故意在任何地方使用Common
,据我所知,我应该只收到Common
的警告
HttpClient
和CacheService
//Get the list of industries
getIndustries(refresher?): Observable<any> {
let cacheKey = "industries";
// delayType if set to all, will ping server everything, if it is set to none then only on expiry of data api call will be sent
let delayType = refresher ? "all" : "none";
let request = this.http
.get(`${this.URL}industries`)
.map((response: Response) => response)
.catch((error: any) => Observable.throw(error));
return this.cache.loadFromDelayedObservable( cacheKey, request, "", 60, delayType );
}
问题1
在上面的示例中,您可以看到我正在使用this.http
和this.cache
,但我只看到缓存但不是http的警告,请帮助我理解为什么会这样。
同样,我也在另一个函数
中使用存储let server = this.storage.get("url");
然而,我发现存储导入未被使用的另一个警告。
问题2
为什么我没有收到import { Common } from "../providers/common";
的警告我实际上并没有在任何地方使用它。
我知道我可以抑制这些警告而忽略它们,但我真的不想这样做,因为我宁愿理解这个原因。
我真的很感激你的帮助。
如果有任何帮助,我正在使用
Typescript 2.5.1
Angular 5
Ionic 3.9.2