【问题标题】:How do I return list/value from ionic2/3 storage如何从 ionic2/3 存储返回列表/值
【发布时间】:2017-04-15 02:10:18
【问题描述】:

我知道这可能不是 100% 正确的方法,因此也欢迎提供清理建议。

刚刚学习/习惯了 Ionic2,但我无法归还存储物品。

服务:

import { Injectable } from "@angular/core";
import { Storage } from '@ionic/storage';

@Injectable()
export class LocationItemService {
  locationItems: LocationItem[] = [];

  constructor(
    private storage: Storage
  ) {}

  getListItems(id): Promise<LocationItem[]> {
    this.storage.get("Location_Items_" + id).then((val) => {
      // This does console out the proper value.
      console.log(val);
      // Thus Promise contains the proper value.
      return Promise.resolve(val);
    });
  }
}

但是,当我在开发中运行我的应用程序时,我收到此错误: “声明类型既不是 'void' 也不是 'any' 的函数必须返回一个值。”

即使我设置了 this.locationItems,我仍然需要返回 Promise,以便在 Promise 解决之前不会运行下一个函数。

我认为这与 storage.get 内部的范围有关,而不是直接在函数本身内部,并且尝试了一些解决方法无济于事。感谢您提供的任何意见!

【问题讨论】:

    标签: javascript angular angular-promise angular2-services


    【解决方案1】:

    Oi,我没有使用 this.storage 之前的 return。因为它已经被定义为一个承诺。因此,我的退货声明基本上陷入了困境。

    【讨论】:

      猜你喜欢
      • 2011-04-09
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多