例如我有
function passConcatenatedStringBack(){
var i,concatString;
for(i=0; i<arguments.length;i++){
concatString = arguments[i];
}
callback(concatString); // this will be error since callback is undefined
}
如何以节点回调样式实现此功能?没有承诺
最佳答案
function passConcatenatedStringBack(){
var i,concatString, error;
var args = Array.prototype.slice.call(arguments); //convert to Array as Kenichi Shibata pointed out
var callback = args.pop(); //get the callback function and remove it from the arguments.
for(i=0; i< args.length;i++){
concatString += args[i];
}
callback(error, concatString);
}
只需接受最后一个参数并将其用作回调即可。
您仍然应该实施验证,以检查用户是否提供了有效的回调。