Как определить необходимые параметры в обратных вызовах JavaScript - PullRequest
0 голосов
/ 27 октября 2018

Я погружаюсь в javascript и, более конкретно, в node.js, но у меня возникают проблемы с определением необходимых параметров для обратных вызовов.

Например, при создании маршрута через Express у меня может быть следующее

app.get('/', function() {
  console.log('this is a route');
});

Который будет исполняться, не доставляя мне никаких проблем. Однако, увидев несколько примеров, я знаю, что, вероятно, хочу иметь что-то более похожее на

app.get('/', function(req, res) {
  res.render('index');
});

Но без просмотра примеров или документации (что иногда является просто парой неясных примеров), существует ли согласованный способ определить, какие параметры должен иметь обратный вызов?

Надеюсь, я был чист.

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Поскольку вы используете Express, документация довольно ясна - это зависит от параметров вашего маршрута и от того, используете ли вы промежуточное ПО.Не существует жесткого и быстрого правила, оно действительно зависит от функции вашего маршрута.

Ваш первый пример «работает», потому что вы печатаете только на консоль, но без объекта ответа res вы заметите, что ответ на запрос ничего не возвращает.

Начните с req и res для каждого и расширяйте по мере необходимости.

0 голосов
/ 27 октября 2018

Без документации или проверки источника функции, выполняющей обратный вызов, вы не сможете легко узнать.

Однако вы можете перехватить их с помощью некоторого исследовательского кода и посмотреть, что вы получите:

app.get('/', function() {
  console.log(arguments);
});

Ключевое слово arguments здесь представляет собой список аргументов, переданных функции обратного вызова, так что это позволит вам увидеть, что вы получили.Если он говорит вам, что что-то является Express.Request или чем-то, это, по крайней мере, дает вам знать, что искать в документах.


Но за пределами стандартного javascript, используя typescript или flow помогает в этом, поскольку он добавляет статические типы в javascript.Если эта функция набрана, тогда ваш редактор узнает аргументы, ожидаемые функцией обратного вызова, и может помочь вам их заполнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...