Я хочу создать синглтон, который будет собирать все данные, которые мне нужны для приложения. Возможно, это неправильный подход, поправьте меня, пожалуйста.
Прямо сейчас мой класс Singleton имеет простой код:
import { AsyncStorage } from 'react-native'
export default class DataManager {
static myInstance = null
stringsArray = null
static instance() {
if (DataManager.myInstance == null) {
DataManager.myInstance = new DataManager();
}
return this.myInstance;
}
async getStringsArray() {
if (this.stringsArray == null) {
let strings = await AsyncStorage.getItem('stringsArray')
this.stringsArray = JSON.parse(strings)
}
return this.stringsArray
}
async setStringsArray(strings) {
this.stringsArray = strings;
await AsyncStorage.setItem('stringsArray', JSON.stringify(strings))
}
}
Вот как я хочу называть геттеры и сеттеры:
DataManager.instance().setStringsArray(["abc", "def"])
let stringsArray = DataManager.instance().getStringsArray()
К сожалению, если я что-то установил, то не смогу получить это позже. Буду рад помочь в этом случае
async
всегда возвращает обещание. Так что либоlet stringsArray = await ...
, либоgetStringsArray().then(stringsArray => ...)
- person slebetman   schedule 02.09.2019export default new DataManager()
, потому что все модули уже являются синглетонами. - person slebetman   schedule 02.09.2019