例如我有

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);
}


只需接受最后一个参数并将其用作回调即可。
您仍然应该实施验证,以检查用户是否提供了有效的回调。

10-05 20:00