场景
- 页面进入的时候 需要进行多次请求 && 而且请求不可以合并 去初始化页面;
- 在开始后请求之前,展示加载中的状态特效
- 在全部完成加载之后, 取消加载状态特效
分析
- 为了效率 这些请求是不能改成串行的
- 这些请求是并行的异步请求, 所以是没有办法判断谁最后结束,然后再对应的回调函数中取消加载状态;
参考文档
解决
initEnv(options) {
let book_id = options.book_id;
this.setData({
book_id
});
wx.showLoading();
let promise_detail = book_model.getBookDetail({
book_id
});
let promise_favor = book_model.getFavorCount({
book_id
});
let promise_comment = book_model.getShortComments(book_id);
Promise.all([promise_detail, promise_favor, promise_comment]).then(response=>{
this.setData({
book : response[0],
like_counter: response[1].count,
like_status: response[1].like_status,
list_comments: response[2].comment
});
wx.hideLoading();
});
},