第一次打开项目onload事件加载数据不出来必须要刷新一次页面?
onLoad: function () {
setTimeout(() => {
wx.request({
url: 'https://api.zhuishushenqi.com/ranking/gender',
method: 'GET',
success: res => {
// console.log(res.data.male)
// 获的男生畅销榜单的id
let id = res.data.male[0]._id
let id2 = res.data.male[5]._id
// 通过榜单id获取女生畅销榜单书籍
wx.request({
url: 'https://api.zhuishushenqi.com/ranking/' + id,
method: 'GET',
success: res => {
// console.log(res.data.ranking.books)
let data = res.data.ranking.books;
let books = [];
for (let i = 0; i <= 7; i++) {
let id = data[i]._id
wx.request({
url: 'https://api.zhuishushenqi.com/book/' + id,
method: 'GET',
success: res => {
books.push(res.data)
if (books.length > 7) {
// 获取男生畅销榜前8本,4本给男生热门,4本给大神区
let book1 = books.splice(0, 4)
let book2 = books.splice(0, 4)
// console.log(book2)
//更改data中recommend数组中的books数组
this.setData({
['recommend[0].books']: book1,
['recommend[2].books']: book2
})
// console.log(this.data.recommend)
}
}
})
}
}
})
// 获取完本榜单
wx.request({
url: 'https://api.zhuishushenqi.com/ranking/' + id2,
method: 'GET',
success: res => {
let data = res.data.ranking.books
let books = []
for (let i = 0; i <= 3; i++) {
let id = data[i]._id
wx.request({
url: 'https://api.zhuishushenqi.com/book/' + id,
method: 'GET',
success: res => {
books.push(res.data)
if (books.length == 4) {
this.setData({
'recommend[1].books': books
})
}
}
})
}
}
})
}
})
}, 2000);
是不是我哪里写的有问题 第一次打开项目onload会执行 但是wx.request不会执行 但是我加了定时器之后 发现只要延迟2秒加载就能正常加载数据 是不是我数据请求量太大了 但是接口就这样 我没办法 这是网上找的接口文档 每次第一次打开项目都必须刷新一次才会执行wx.request 这是什么原因呢 新手求答