TypeScript - 属性' xyz'声明但从未使用过

时间:2018-03-27 13:30:43

标签: angular typescript ionic3

我一直在阅读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的警告

HttpClientCacheService

的用法
  //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.httpthis.cache,但我只看到缓存但不是http的警告,请帮助我理解为什么会这样。

同样,我也在另一个函数

中使用存储
let server = this.storage.get("url");

然而,我发现存储导入未被使用的另一个警告。

问题2

为什么我没有收到import { Common } from "../providers/common";的警告我实际上并没有在任何地方使用它。

我知道我可以抑制这些警告而忽略它们,但我真的不想这样做,因为我宁愿理解这个原因。

我真的很感激你的帮助。

如果有任何帮助,我正在使用

Typescript 2.5.1
Angular 5
Ionic 3.9.2

0 个答案:

没有答案