我正在創建一個小鏈接縮短應用程序。這是Express.js POST函數。我想發送一個包含新網址和數據庫中當前文檔數量的文檔。這主要是爲了確保每個網站都與一個唯一的短號碼相關聯。如何在node.js中的promise中發送res.send?
app.post('/api/shorturl/new', (req, res) => {
var body = _.pick(req.body, ['url']); // url attached to body.url with lodash
Link.find({}).exec((err, res) => { // Link is a mongoose model
var count = res.length;
var newSite = new Link({ website: body.url, count });
newSite.save((err) => {
if (err) console.log(err);
})
res.send(newSite);
});
});
當程序進入res.send(newSite)時,控制檯說res.send不是函數。這是因爲它符合諾言,但我不確定如何解決問題並保持代碼的正常運行。我怎樣才能得到回覆發送?
謝謝!
這不是因爲它在承諾中,這是因爲你在傳遞給exec()' –
Aha的回調函數中的參數之一使用相同的名稱來映射正確的'res'。你是對的! –