fetch回调中如何使用AsyncStorage.setItem?
How to use AsyncStorage.setItem in fetch callback?
我的代码出现语法错误。
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
对于每个等待,您都需要一个异步。
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/await 的要点是让代码看起来是同步的,而实际上是异步的。您可以像这样重写上面的代码:
async getJSON() {
try {
var response = await fetch(url);
var responseText = response.text();
await AsyncStorage.setItem(STORAGE_KEY, responseText);
} catch(error) {
console.warn(error);
}
}
我的代码出现语法错误。
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
对于每个等待,您都需要一个异步。
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/await 的要点是让代码看起来是同步的,而实际上是异步的。您可以像这样重写上面的代码:
async getJSON() {
try {
var response = await fetch(url);
var responseText = response.text();
await AsyncStorage.setItem(STORAGE_KEY, responseText);
} catch(error) {
console.warn(error);
}
}