2016-11-20 10 views
0

я не понимаю, почему это работает:restify является не работает по какой-то причине

instance.use(restify.bodyParser()); 

, но это не работает:

instance.use((req, res, next) => { 
    restify.bodyParser(); 
    next(); 
}); 

UPD: Я пытался до restify.bodyParser()(req, res, next). По какой-то причине это не работает.

restify.bodyParser() экспортирует массив функций: [читать, parseBody]. Таким образом, используя restify.bodyParser()(...) throws error ... is not a function.

Я все еще пытаюсь добиться, почему так.

ответ

2

use ожидает argument of the form function (req, res, next) or an array of functions of this form. restify.bodyParser() - это массив функций этой формы. Следовательно, вам понадобится пройти req, res, next к каждой из функций в массиве. В зависимости от того, что вы хотите сделать, вы можете захотеть вернуть массив посредников или поочередно вызвать промежуточных.

+0

Черт, все просто) Спасибо –

+0

Я только что протестировал его. По какой-то причине он не работает. См. UPD в вопросе –

+0

Вы правы, 'use' также может принимать массив посредников, не думал об этом. Я обновил свой ответ, надеюсь, что это поможет. Точное использование сильно зависит от нашего варианта использования, поэтому я удалил пример кода. – inyono