Не удалось сохранить данные в локальном хранилище в формате c ios - PullRequest
0 голосов
/ 21 января 2020

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

import { NativeStorage } from '@ionic-native/native-storage/ngx';

Для хранения

this.storage.setItem('userdata', data['data'])
        .then(
            () => {
                this.getStorageData();
            },
            error => console.error('Error storing item', error)
          );
    enter code here

Для получение

return this.storage.getItem('userdata').then(
      data => {

           return data;
      },
      error => {

      }
    );

Тот же код работает в Android, но не в IOS

Ответы [ 2 ]

3 голосов
/ 21 января 2020

Используйте asyn c, ожидайте использования с оператором возврата

Дело: 1

async getData(){
    await return this.storage.getItem('userdata').then(
        data => {

           return data;
        },
        error => {

        }
    );
}

Дело: 2

getData(){
    return this.storage.getItem('userdata').then(
        data => {

            this.callMyFunctionToUseValue(data)
        },
        error => {

        }
    );
}

0 голосов
/ 21 января 2020

Вы перепутали синтаксис NATIVE STORAGE.

неправильно:

     this.storage.setItem('userdata', data['data'])
    .then(
        () => {
            this.getStorageData();
        },
        error => console.error('Error storing item', error)
      );

правильно:

     this.storage.setItem('userdata',{var1: data['data']})
    .then(
        () => {
            this.getStorageData();
        },
        error => console.error('Error storing item', error)
      );

неправильно:

  return this.storage.getItem('userdata').then(
  data => {

       return data;
  },
  error => {

  }
);

правильно:

   return this.storage.getItem('userdata').then(
  data => {

       return data.var1;
  },
  error => {

  }
);

Ваш код, вы напрямую назначаете пользовательские данные некоторым данным. Для правильного пути, пожалуйста, используйте подпеременную, присваивающую значение чему угодно.

...