在開發反應原生移動應用程序時,我得到這個錯誤。undefined不是一個對象(評估Promise。)
fetchDB
功能將使用返回一個承諾
fetchDB(key) {
try {
AsyncStorage.getItem(key, result => {
return result;
});
} catch (error) {
console.log(error);
}
}
}
從返回承諾取值.then()
getUserName =() => {
var user = Storage.fetchDB("username");
user.then(res => {
alert(res);
});
};
其呈現紅屏,錯誤
不確定是不是一個對象
'AsyncStorage.getItem'是異步的嗎?無論如何,回調函數中的返回值並不意味着你從'fetchDB'函數返回了一些東西......所以你有兩個問題......理解異步代碼,並且理解你的函數實際上並不會返回任何東西...嘗試簡單地'返回AsyncStorage.getItem(key);' –