我有一个异步函数,它将回调分为一个对象success
和error
,这个函数接受一个参数(除了回调)"pink"
。如何嵌套基于数组的异步函数?
async("pink",{
success:function(){
},
error:function(){
}
});
我想使这个函数,它在数组中,并返回async
行动true
或false
值的复数形式。
asyncs(["blue","red","green"],function(values){
console.log(values); // [true,true,true];
});
诀窍在于,每个acync
动作必须在接下来的,函数(true
或false
)的值需要是pushed()
成“全局”(范围更高)可变values
和返回在主callback(values)
在末端(当count
到达阵列length
)
这是嵌套每个async()
功能并返回values
的非常基本的方式,它是有限的,因为它手动仅次于3
数组值。
var asyncs = function(params,mstrCB){
var length = params.length;
var values = [];
async(param[0],{
success:function(){
values.push(true);
async(param[1],{
success:function(){
values.push(true);
async(param[2],{
success:function(){
values.push(true);
mstrCB(values);
},
error:function(){
values.push(false);
mstrCB(values);
}
});
},
error:function(){
values.push(false);
mstrCB(values);
}
});
},
error:function(){
values.push(false);
mstrCB(values);
}
});
};
如果你要更频繁地做到这一点(和你),我建议你使用这个伟大的小LIB:https://github.com/willconant/flow-js – mkoryak