2016-11-20 255 views
0

我不明白爲什麼這個工程:的RESTify的身體解析器工作不因某種原因

instance.use(restify.bodyParser()); 

但這不起作用:

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

UPD:我已經試過到restify.bodyParser()(req, res, next)。事實上,由於某種原因,它不起作用。

restify.bodyParser()導出數組函數:[read,parseBody]。所以使用restify.bodyParser()(...)會拋出錯誤... is not a function

我仍然在努力實現爲什麼如此。

回答

2

use預計argument of the form function (req, res, next) or an array of functions of this formrestify.bodyParser()是這種形式的函數的數組。因此,您需要將req,res,next傳遞給陣列中的每個函數。根據您想要執行的操作,您可能想要返回一組中間件或依次調用中間件。

+0

該死的,就這麼簡單)謝謝 –

+0

我剛測試過它。由於某種原因,它不起作用。請參閱UPD –

+0

上的UPD您說得對,'use'也可以接受一系列中間件,但沒有考慮到這一點。我更新了我的答案,我希望這會有所幫助。確切的用法在很大程度上取決於我們的用例,所以我刪除了代碼示例。 – inyono

相關問題