Вам нужно использовать ключевое слово async в вашей функции следующим образом.
import { AsyncStorage } from 'react-native';
import prefskey from '../utils/constants/prefskeys';
const prefsnamager = {
setValue: function (key, value) {
AsyncStorage.setItem(key, value)
},
getValue: async (key) => {
let value = '';
try {
value = await AsyncStorage.getItem(key) || 'none';
} catch (error) {
// Error retrieving data
console.log(error.message);
}
return value;
}
}
export default prefsnamager;
вызывающая функция
_handlePress = () => {
prefsManager.setValue(prefskey.username, this.state.username)
console.log("username =>>" , prefsManager.getValue(prefskey.username));
}
Я не уверен, может ли это решить Вашу проблему, но у меня есть две идеи, что можно попробовать:
1-я идея
Определите свойство в родительском англичанине и используйте его в конфигурации отчета:
<properties>
<parent-basedir>${basedir}</parent-basedir>
</properties>
...
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<xmlOutput>true</xmlOutput>
<threshold>Low</threshold>
<effort>Min</effort>
<includeFilterFile>${parent-basedir}/findbugsFilter.xml</includeFilterFile>
</configuration>
</plugin>
</plugins>
</reporting>
2-я идея
Другая идея состоит в том, чтобы использовать $ {project.parent.basedir}:
...
<includeFilterFile>${project.parent.basedir}/findbugsFilter.xml</includeFilterFile>
...
Это связано с Вашим другим вопросом.
Вы бросили идею развернуть файл фильтра в отдельном артефакте? Почему?
Проблема с полным путем состоит в том, что у Вас нет гарантии, что источники родительского проекта будут присутствовать на машине, когда Вы разработаете дочерний проект. Это - смысл наличия механизма репозитория.
Вы попробовали мое предложение к своему другому вопросу?
Короткая версия: Решение вашей проблемы описано в документации для findbugs-maven-plugin . Вам просто нужно создать отдельный (верхнего уровня) проект для конфигурации сборки, который содержит ваш findbugsFilter.xml
и ссылаться на этот проект как на зависимость.
Длинная версия: Доступ к ресурсам из проекты для родителей или братьев и сестер в Maven, к сожалению, немного сложны. Причина этого: при создании дочернего проекта Maven не может предположить, что родительский модуль находится на один уровень выше, или проект одного уровня находится в том же уровне в файловой системе. На самом деле, он не может предположить, что какой-либо из этих проектов где-то был проверен! Совершенно законно проверять только один дочерний проект и строить его как есть. Таким образом, при сборке с Maven все (за очень немногими исключениями) загружается из вашего локального репозитория. И именно поэтому вы должны создавать отдельные проекты для ресурсов, которые вы хотите использовать в нескольких модулях. Затем отдельный проект можно добавить в качестве зависимости и использовать несколько различных плагинов Maven. Примеры: checkstyle и плагины findbugs для чтения конфигурационных файлов, maven-dependency-plugin для копирования внешних файлов в ваши артефакты или properties-maven-plugin для загрузки внешних файлов свойств.
Затем отдельный проект можно добавить в качестве зависимости и использовать несколько различных плагинов Maven. Примеры: checkstyle и плагины findbugs для чтения конфигурационных файлов, maven-dependency-plugin для копирования внешних файлов в ваши артефакты или properties-maven-plugin для загрузки внешних файлов свойств. Затем отдельный проект можно добавить в качестве зависимости и использовать несколько различных плагинов Maven. Примеры: checkstyle и плагины findbugs для чтения конфигурационных файлов, maven-dependency-plugin для копирования внешних файлов в ваши артефакты или properties-maven-plugin для загрузки внешних файлов свойств.У меня была аналогичная проблема, когда я хотел, чтобы дочерний POM имел тот же файл свойств, что и родительский, но я не мог заставить работать переменную $ {project.parent.basedir}.
Однако я создал переменную в родительском элементе и перезаписал одну и ту же переменную в каждом из дочерних Pom (это должно работать и для дедушек ... хотя у меня их не было).
Например:
Parent POM:
<properties>
<my_basedir>${basedir}</my_basedir>
</properties>
Child POMs:
<properties>
<my_basedir>${basedir}/../</my_basedir>
</properties>
Теперь я просто перечисляю фильтр один раз в родительском элементе, и все остальные его получают. Если вы переместите дочерний элемент, вы просто измените относительный путь.
<filters>
<filter>${my_basedir}/myfile.properties</filter>
</filters>