当我的 AsyncStorage 项为空“可能未处理的承诺拒绝(id:0)”时,我收到以下警告消息所以我的问题是:如何处理承诺拒绝?
我的代码:
componentDidMount() {
try {
// This warning only appears when 'connections' item is empty
AsyncStorage.getItem('connections').then((token) => {
token = JSON.parse(token);
const getSectionData = (dataBlob, sectionId) => dataBlob[sectionId];
const getRowData = (dataBlob, sectionId, rowId) => dataBlob[`${rowId}`];
const ds = new ListView.DataSource({
rowHasChanged: (r1, r2) => r1 !== r2,
sectionHeaderHasChanged: (s1, s2) => s1 !== s2,
getSectionData,
getRowData,
});
const {dataBlob, sectionIds, rowIds} = this.formatData(token);
this.setState({
dataSource: ds.cloneWithRowsAndSections(dataBlob, sectionIds, rowIds),
});
});
}catch(error) {
console.log(error);
} …Run Code Online (Sandbox Code Playgroud) 如何在react-native中使用AsyncStorage保存一个Items数组?因此,每次在列表中添加其他联系人时,它都会不断添加而不是重写
码:
saveContacts = ()=> {
try {
let con = {
roomId: this.state.roomId,
nickname: this.state.nickname,
}
AsyncStorage.setItem('contacts', JSON.stringify(con));
}catch(error) {
alert(error)
}
}
Run Code Online (Sandbox Code Playgroud) 我想从collection1一直到Collection 3和4进行查找,以在一个查询中比较名称。
例:
collection1.find({
collection2.collection3.name: req.body.name3,
collection2.collection4.name: req.body.name4
}).exec()
Run Code Online (Sandbox Code Playgroud) asyncstorage ×2
javascript ×2
react-native ×2
arrays ×1
items ×1
mongodb ×1
mongoose ×1
node.js ×1
promise ×1