收藏
回答

onload中需要发送一个以上请求,就需要重复设置setData,如何避免。



如图

回答关注问题邀请回答
收藏

11 个回答

  • LastLeaf
    LastLeaf
    2017-08-01

    记录请求返回数据,等到两个请求都到达之后再进行数据合并。

    2017-08-01
    有用
    回复
  • LastLeaf
    LastLeaf
    2017-08-01

    有的,通常情况下提升比较显著。

    2017-08-01
    有用
    回复
  • LastLeaf
    LastLeaf
    2017-08-01

    自己写一个方法,把几个setData的请求数据合并起来即可。

    var mergedData = {}
    for(var k in data1) mergedData[k] = data1[k]
    for(var k in data2) mergedData[k] = data2[k]
    // ...
    this.setData(mergedData)


    2017-08-01
    有用
    回复
  • 阿巳已己
    阿巳已己
    2017-08-01


    像这样?可是这样请求的话,必须要等待所有请求都响应后才会刷出页面。请求多的时候会延迟较长之类,或者有个请求失败也会导致丢失整个页面。请问大神你们是如何避免的?

    2017-08-01
    有用
    回复
  • 阿巳已己
    阿巳已己
    2017-08-01


    那要怎么合呢?比如上面俩个ajax请求怎么合成一个setdata,小程序不支持promise的呀

    2017-08-01
    有用
    回复
  • 阿巳已己
    阿巳已己
    2017-08-01

    这样做对于性能有提升么?还是只是警告没了,其他并没卵用

    2017-08-01
    有用
    回复
  • 阿巳已己
    阿巳已己
    2017-07-31

    前端没办法处理了么?后端处理太过麻烦了,每个页面加载时都会发几个请求,都做合并的话,要做很多新接口。我们公司后端人手严重不足。让后端去做不现实。只能自己处理了。

    2017-07-31
    有用
    回复
  • 铭锋科技
    铭锋科技
    2017-07-31

    也就是后端做处理

    2017-07-31
    有用
    回复
  • 铭锋科技
    铭锋科技
    2017-07-31

    我的意思是使用统一接口,

    请求统一接口,返回N组数据,如评论是评论的,详情是详情的等等

    this.setData({

        detail:res.data.detail,

    comment:res.data.comment

    ....

    })

    2017-07-31
    有用
    回复
  • 阿巳已己
    阿巳已己
    2017-07-31

    怎样发送?同步异步?,接收的结果怎么区分是哪个接口的响应?给个demo?

    2017-07-31
    有用
    回复

正在加载...

登录 后发表内容