Функция контроллера вызова Nodejs из ответа контроллера и рефакторинга - PullRequest
0 голосов
/ 12 марта 2019

У меня есть два контроллера Express в Node.js, A и B, и у A есть функция, которая возвращает данные. Я хочу, чтобы B вызвал эту функцию, перехватил ответ и вернул его после рефакторинга. Примерно так:

A{
  search(req,res){...}
}
B{
  wrapper(req,res){
    A.search(req,?).then((repsonse)=>{
      <refactor response>;
      res.send(refactoredData);
    })
  }
}

Я не могу понять, как вызвать A.search из B, и я не хочу менять A, в A.search нет next (), и если я вызываю A.search (req, res ) с параметрами оболочки, я просто перенаправил вызов, верно?

1 Ответ

1 голос
/ 12 марта 2019
if you do not want to change the controller A. than you can create a callback function in B. and assign it to res.send like below :

A{
  search(req,res){ res.send(response);}
}

B{
   function sendcallback(response){
     <refactor response>;
  }
  wrapper(req,res){
    var fakeRes = {"send": sendcallback}
    A.search(req,fakeRes);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...