這個問題在這里已經有了答案: 如何從異步呼叫回傳回應 (42 個回答) 21 小時前關閉。
我是 React Native 的新手,所以請耐心等待。
我使用以下代碼從提要中獲取 RSS 專案。
fetch("https://feed.podbean.com/omroepvoeren/feed.xml")
.then((response) => response.text())
.then((responseData) => rssParser.parse(responseData))
.then((rss) => {
for (var item of rss.items) {
console.log(item.title);
}
});
這似乎有效。所有標題都顯示在控制臺中。但是當我將代碼更改為:
var listOfTitles = [];
fetch("https://feed.podbean.com/omroepvoeren/feed.xml")
.then((response) => response.text())
.then((responseData) => rssParser.parse(responseData))
.then((rss) => {
for (var item of rss.items) {
listOfTitles.push(
<View>
<Text>{item.title}</Text>
</View>
);
}
});
console.log(listOfTitles);
陣列保持為空。Array []這里出了什么問題?
uj5u.com熱心網友回復:
var listOfTitles = [];
fetch("https://feed.podbean.com/omroepvoeren/feed.xml")
.then((response) => response.text())
.then((responseData) => rssParser.parse(responseData))
.then((rss) => {
for (var item of rss.items) {
listOfTitles.push(
<View>
<Text>{item.title}</Text>
</View>
);
}
console.log(listOfTitles);
});
const response = await fetch("https://feed.podbean.com/omroepvoeren/feed.xml");
const responseText = await response.text(); const rss = rssParser.parse(responseText);
for (var item of rss.items) {
listOfTitles.push(
<View>
<Text>{item.title}</Text>
</View>
);
} console.log(listOfTitles);
它會傳遞 fetch 函式,但您在呼叫 api done 后添加專案。所以它將是空陣列,如果你愿意,你也可以使用“await”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/404437.html
標籤:
