callback 相关问题咨询
发布于 2 年前 作者 quanpf2481 1010 次浏览 来自 问答

nodejs 里面callback函数返回,是不是只能返回一个值啊???比如说callback(err,a);值返回a,能不能这样callback(err,a,b,c,…);返回很多个参数,这样可以吗???如果不可以,那么要返回多个值的话,应该怎么办呢????

6 回复

最好结构化一下

看: ES6 变量的解构赋值,函数的扩展

可以,看例子,参数可以封装为对象,或者用arguments获取多参数

function callback(err){
   let args=Array.prototype.slice.call(arguments,1);
   console.dir(err);
   console.dir(args[1]);
}
callback.apply(undefined, ["error",1, 2, 3, 4, 5]);

function callback2(err,params){
   console.dir(err);
   console.dir(params[2]);
}
callback2("error",{1:"1a",2:"2a"});

看: ES6 变量的解构赋值,函数的扩展

f1 = function(cb){
	cb('v1','v2','v3','v4');
}

f1(function(v1,v2,v3,v4){
	console.log(v1,v2,v3,v4); // v1 v2 v3 v4
})
回到顶部