Получите локальное хранилище ionic2 - PullRequest
0 голосов
/ 02 мая 2018

Я только начал использовать ionic2, где в моем приложении я прошу пользователя сохранить apiKey и секрет.

При хранении в локальном хранилище работает нормально, но у меня возникают проблемы при попытке использовать сохраненное значение.

// Storing user apikey config
saveAPISettings(apiConfig) {
  let apiSettings = { apiKey: apiConfig.apiKey, apiKeySecret: apiConfig.apiKeySecret};
  this.storage.set('api-settings', JSON.stringify(apiSettings));
}

// Stored value
"api-settings": "{"apiKey":"2b749127b41927b491274b924927b412","apiKeySecret":"QEWIRP"}" 


// Getting stored apikey config
getSettings(key) {
  let results = [];
  let object;

  this.storage.get(key).then((val) => {
    object = JSON.parse(val);
    results['apiKey'] = object.apiKey;
    results['apiKeySecret'] = object.apiKeySecret;
  });
  return results;
}

enter image description here

 // getSettings usage
 let config = getSettings('api-settings');

 // getting undefined
 console.log(config.apiKey);
 or 
 console.log(config['apiKey']);

Что я здесь не так делаю? Спасибо заранее.

1 Ответ

0 голосов
/ 02 мая 2018

Нет необходимости структурировать ваш объект apiSettings, просто сохраните как объект

this.storage.set('api-settings', apiSettings);

Storage.get разрешит обещание, просто верните хранилище в getSettings

getSettings(key) {
  return this.storage.get(key)
}

На странице настроек

 getSettings('api-settings').then(val=>{
   console.log(val.apiKey);
   console.log(val.apiKeySecret);
});
...