我的代码中出现语法错误。
async getJSON() {
await fetch(url)
.then((response) => response.text())
.then((responseText) => {
await AsyncStorage.setItem(STORAGE_KEY, responseText);
})
.catch((error) => {
console.warn(error);
});
},
错误是await AsyncStorage.setItem(STORAGE_KEY, responseText);
上的意外令牌
我想它正在抱怨await
答案 0 :(得分:1)
每一个等待你都需要一个异步。
async getJSON() {
await fetch(url)
.then((response) => response.text())
.then(async (responseText) => { // <-- add async here
await AsyncStorage.setItem(STORAGE_KEY, responseText);
})
.catch((error) => {
console.warn(error);
});
},
另外......异步/等待的目的是使代码在实际异步时看起来同步。您可以像这样重写上面的代码:
async getJSON() {
try {
var response = await fetch(url);
var responseText = response.text();
await AsyncStorage.setItem(STORAGE_KEY, responseText);
} catch(error) {
console.warn(error);
}
}