Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在特定情况下删除我的json字段_Javascript_Node.js_Express - Fatal编程技术网

Javascript 在特定情况下删除我的json字段

Javascript 在特定情况下删除我的json字段,javascript,node.js,express,Javascript,Node.js,Express,我有一个ExpressJS控制器,它列出了我的所有用户 userCtrl.get: get(req, res, next) { var func = function(err, data) { if (err) return next(err); return res.json(data); }; if (req.params[this.idName]) this._getById(req.params[this.idName], func); else

我有一个ExpressJS控制器,它列出了我的所有用户

userCtrl.get

get(req, res, next) {
  var func = function(err, data) {
    if (err) return next(err);
    return res.json(data);
  };

  if (req.params[this.idName])
    this._getById(req.params[this.idName], func);
  else
    this._getAll(func);
  }

  _getById(id, fn) {
    this.ObjectClass.findById(id, fn);
  }
  _getAll(fn) {
    this.ObjectClass.findAll(fn);
  }
我想从另一条路调用它,这样res.json()将过滤此json的一个字段 比如:

router.get ('/services/:serviceKey/authBridge/users', function(req, res, next) {
  function anonJs(x) {
    x.forEach(s => s.credential = null);
    res.json(x);
  }
  res.json = anonJs;
  userCtrl.get(req, res, next);
});

问题是,对于这最后一段代码,我最终得到了一个递归,我调用了
res.json
,它现在被定义为
anonJS

,在替换之前必须存储对旧函数的引用

router.get ('/services/:serviceKey/authBridge/users', function(req, res, next) {
  var json = res.json;
  res.json = function(x) {
    x.forEach(s => s.credential = null);
    json(x);
  }

  userCtrl.get(req, res, next);
});