在本地存储中存储对象时出错

时间:2019-03-29 07:53:57

标签: typescript ionic-framework

我有一个错误:

  

错误错误:未被捕获(承诺):DataCloneError:无法在'IDBObjectStore'上执行'put':无法克隆位置对象。   错误:无法在“ IDBObjectStore”上执行“放置”:无法克隆位置对象。

这是一个代码:

geolocate() {
    this.geo.getCurrentPosition().then((resp) => {
      // resp.coords.latitude
      // resp.coords.longitude
      this.storage.set('GeoLocation', resp);
    }).catch((error) => {
      console.log('Error getting location', error);
    });

    let watch = this.geo.watchPosition();
    watch.subscribe((data) => {

      // data can be a set of coordinates, or an error (if an error occurred).
      // data.coords.latitude
      // data.coords.longitude
    });
  }

1 个答案:

答案 0 :(得分:0)

geolocate() {
    this.geo.getCurrentPosition().then((resp) => {
      // resp.coords.latitude
      // resp.coords.longitude
      const location = {latitude: resp.coords.latitude, longitude: resp.coords.longitude};
      this.storage.set('GeoLocation', JSON.stringify(location));
    }).catch((error) => {
      console.log('Error getting location', error);
    });

    let watch = this.geo.watchPosition();
    watch.subscribe((data) => {

      // data can be a set of coordinates, or an error (if an error occurred).
      // data.coords.latitude
      // data.coords.longitude
    });
  }

要读回,请使用JSON.parse,如下所示:

JSON.parse(this.storage.get('GeoLocation'));