【发布时间】:2018-11-27 16:53:39
【问题描述】:
我是 ES6 和 react-native 新手,试图从 SecureStore 获取多个值。
我想我在这里误解了 Promise ... global.userData 在 Promise.all(promises).then 函数中为空。安全存储中确实存在相关值
我的代码是:-
getUserData(fields) {
var promises = [];
var that = this;
global.userData = {};
function getField(field) {
return SecureStore.getItemAsync(field)
.then(res => {
console.log(field+"="+res); // this appears after the log below
global.userData[field] = res;
})
.catch(error => {
global.userData[field] = null;
});
}
fields.map(field => {
promises.push[getField(field)];
});
Promise.all(promises).then(function(v) {
console.log(global.userData); // this is empty
that.setState({ isReady: true }); // allow page to render
});
}
getUserData(["userId", "userName","etc"]);
【问题讨论】:
标签: react-native promise expo