为了账号安全,请及时绑定邮箱和手机立即绑定

小程序如何防止网络操作延迟导致无法获取数据

小程序如何防止网络操作延迟导致无法获取数据

RISEBY 2019-03-07 18:17:13
小程序网络请求异步,如何防止网络操作延迟导致无法获取数据?例如官方quikStart项目demo中的有没有简单易用的解决方法?
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

var Callback = function(keys, callback) {

    keys = [].concat(keys);

    var value;

    this.value = function(v) {

        if (v === undefined) {

            return value;

        }

        value = v;

    };

    this.emit = function(key) {

        var i = keys.indexOf(key);

        if (i>=0) {

            keys.splice(i, 1);

            if (keys.length<=0) {

                callback(value);   

            }

        }

    };

};

var c= new Callback(['test1', 'test2'], console.log);

setTimeout(function() {

    c.value(1);

    c.emit('test1');

},100);

setTimeout(function() {

    c.emit('test2');

},101);


查看完整回答
反对 回复 2019-03-18
?
慕的地10843

TA贡献1785条经验 获得超8个赞

异步过程,使用回调。
getUserInfo的success里面有回调,回调数据是data,只需要将对data的处理放到success回调里面即可。
如果对data的处理需要异步,则构造一个dataProduce函数,并设置回调,继而通过回调完成dataProduce。

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 1338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信