我正在使用本地本机开发新闻应用程序,问题是启动时间花费了太多时间(最初加载大约需要3秒,主屏幕显示需要5秒)。 我有36篇文章,并且json响应很大(3000行)。经过分析,我发现原因是等待获得文章的功能承诺的等待时间(.then之后)。
获取文章的功能:
export async function getArticles(){
try {
let articles = await fetch(``);
let result = await articles.json();
return result;
} catch (error) {
throw error
}
}
显示文章的home.js是:
export class HomeScreen extends PureComponent {
constructor(props) {
super(props);
this.state = {
isLoading: true,
data: null,
isError: false,
}
}
componentDidMount() {
getArticles().then(data => {
this.setState({
isLoading: false,
data: data
})
}, error => {
Alert.alert("Error", "Something happend, please try again")
})
}
我试图通过提取特定字段来简化响应主体,但没有区别,而且我不知道如何从url本身中仅获取简单数目的文章,例如per_page或其他内容。 您能否建议如何在等待JSON响应完成之前开始渲染?。