我正在编写一个本机应用程序,其中使用asyncStorage。按照文档的建议,我尝试使用以下包装函数:
_storeData = async () => {
try {
await AsyncStorage.setItem('@MySuperStore:key', 'I like to save it.');
} catch (error) {
// Error saving data
}
};
以及用于检索和删除密钥的类似密钥。
这很好用,但是可以想象,这些功能被大量使用,因此在每个文件中复制它们是难以管理的。我创建了一个“ utils.js”文件,并重写了如下功能:
export async function _storeData(key, data) {
try {
await AsyncStorage.setItem(key, data);
} catch (error) {
console.log("ERROR SAVING");
}
}
在代码中,我没有像以前那样使用this._storeData(key,data)
,而是使用了:
import { _storeData } from "../utils";
...
_storeData(key, data)
这不会引发错误,但是似乎从不实际存储,检索或删除任何内容。我可以确认,当这些函数在同一文件中被编写为箭头函数时,它可以正常工作。
我对此很陌生...
将它们保留为箭头功能并绑定它们是否有意义?