如何基本上异步等待正确?我为 AsyncStorage 创建了一个帮助器,它会自动等待异步等待,但是它的用户是否也必须使用 async await
或 promise 方法来获取值?
此代码有效但无法正确使用语法。
这是我的代码:
class AsyncStorageHelper {
static getItem = async (key: string) => {
let value: any = "";
try {
value = await AsyncStorage.getItem(key);
} catch (error) {
console.log(`Error item: ${value}`);
throw new Error(`Error ${value}`);
}
return value;
};
}
AsyncStorageHelper.getItem("logins")
.then(result => {
if (result) {
if (result === "1") {
navigate(SCREEN1);
} else {
navigate(SCREEN2);
}
}
})
.catch(err => {
navigate(LOGINSCREEN);
});
我如何将
AsyncStorageHelper
代码转换为异步等待,具体取决于我想要导航到不同位置的结果。 最佳答案
await 必须在异步函数中使用。
async function helper() {
try {
const result = await AsyncStorageHelper.getItem("logins");
if (result) {
if (result === "1") {
navigate(SCREEN1);
} else {
navigate(SCREEN2);
}
}
} catch (error) {
navigate(LOGINSCREEN);
}
}
helper()
关于javascript - async await with promises 然后需要阻塞,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53878483/