2 回答
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);
TA贡献1785条经验 获得超8个赞
异步过程,使用回调。
getUserInfo的success里面有回调,回调数据是data,只需要将对data的处理放到success回调里面即可。
如果对data的处理需要异步,则构造一个dataProduce函数,并设置回调,继而通过回调完成dataProduce。
添加回答
举报