setData优化问题??哪种执行更快??

发布于 6 年前作者 leishen5829 次浏览最后编辑 6 年前来自 issues

请问哪种的执行效率更快?

【第一种setData方式

var list = res.data.list;
for( var i =0;i<list.length; i++){

    var str = 'list['+i+'].name';

var strId = 'list['+i+'].id';

    that.setData({

            [str] : list[i].name,

            [strId] : list[i].id

    })
}

【第二种setData方式】:

var list = res.data.list;
var arrList = [];
for(var i=0;i<list.length;i++){
    var item = {
          id:list[i].id,
          name:list[i].name
     }
    arrList.push(item);
}
that.setData({
    list :  arrList
})
5 回复
wzeng
wzeng1 楼6 年前

应该是第二种吧

houyong
houyong2 楼6 年前

第二种

setdata是异步操作的 操作频率快可能操作渲染顺序错误

比如 list中 索引在后面的 可能先被渲染

litan
litan3 楼6 年前

第二个是高手

yantang
yantang4 楼6 年前

肯定是第二种

liulei
liulei5 楼4 年前

我习惯第二种,而且官方不是建议别频繁setdata么