一次加载,调用多个setData,提示warning了,这样的情况一般如何处理?

来源:11-8 商品主题UI与数据加载

彬林城下

2017-07-17

一次加载,调用多个setData,提示warning了,这样的情况一般如何处理?

比如举例,加载下一时,在滑动时,我设置,setData({isLoading:true}),在请求接口后如果处理,在设置成,setData({isLoading:false})

就提示了,setData warning 可能会造成性能问题。或者这个情况如果处理呢?

写回答

3回答

彬林城下

提问者

2017-07-19

var common = require('../../comm/script/common')

var app = getApp();
Page({
  data: {
    dataPage: 1,
    isLoadAll: false,
    isLoading: false,
    goodsList: []
  },
  onLoad: function () {
    this.dataList();
  },
  // 数据加载
  dataList: function() {
    var that = this;
    var params = {
      url: 'goods_type3',
      data: {
        page:that.data.dataPage
      },
      callback : function(res) {
        that.onCallback && that.onCallback(res)
      }
    }
    common.abc_request(params);
  },
  // 上拉加载
  onReachBottom: function () {
    this.setData({
      isLoading: true
    })
    if(!this.data.isLoadAll) {
      this.data.dataPage++
      this.dataList()
    }
  },
  // 数据回调处理
  onCallback: function(res) {
    var data = res.content.data;
    if(data.length > 0) {
      this.data.goodsList.push.apply(this.data.goodsList, data);
      this.setData({
        isLoading: false,
        goodsList:this.data.goodsList
      })
      console.log(this.data.goodsList);
    } else {
      this.setData({
        isLoading: false,
        isLoadAll: true
      })
    }
  }
})

老师,我是用上面的这个代码,就会出现问题。

在调试输出的提示中,大部分情况会提示,setData warning ,帮忙看是不是有些问题?

有时候也不提示,它给出的这个网址说明问题,https://mp.weixin.qq.com/debug/wxadoc/dev/framework/performance/tips.html

//szimg.mukewang.com/596f23570001ddd210230131.jpg

0
1
7七月
文档里说的几个性能问题,课程里都不存在
2017-07-20
共1条回复

7七月

2017-07-18

而且我看了下电影下啦加载,也没有提示这个warning。

0
0

7七月

2017-07-18

我设置,setData({isLoading:true}),在请求接口后如果处理,在设置成,setData({isLoading:false})

就提示了。这句话我实在是没读懂。 麻烦再整理下逻辑

0
0

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程