【发布时间】:2018-10-31 18:11:50
【问题描述】:
我在发送删除请求时收到“statusCode”:400。在我的delete.route.js 我有这个:
async handler(req) {
const { portfolioId } = req.params
const deletePortfolio = await service.deletePortfolio(portfolioId)
return deletePortfolio
},
在我的服务中,我有这个。这与创建相同,但我尚未使用 mongodb 和 hapi 删除任何内容。
async deletePortfolio(portfolioId) {
const deletePortfolio = await this.model.findOneAndDelete({
_id: portfolioId,
})
return deletePortfolio
}
您可以在此处查看上下文中的完整代码:
https://github.com/imcodingideas/crypto-portfolio/blob/master/server/src/portfolio/delete.route.js
【问题讨论】:
-
不要等待函数内的值然后返回它。它实际上以无操作的方式结束,因为无论如何它都会简单地返回 Promise。只需返回承诺,因为您应该也注意到您需要这样做,因为您有
await service.deletePortfolio(..)。请注意,.findOneAndDelete()正在使用这些选项从“之前”删除中返回文档,但这与 404 无关。实际上,404 根本不应该与任何此代码相关,因为它只是一个“未找到”。除非您可以确认此代码执行,否则很可能是错误的 url