如果findbyidanddelete()找不到用户,是否应该执行catch块



代码图像

所以我正在阅读这个nodejs PDF指南,我发现了这个。

为什么存在if(!user(条件如果找不到用户,执行就会跳转到catch块,所以我真的不明白这个语句什么时候执行。

如果有人能向我解释一下,那将是非常有帮助的。

如果没有User.findByIdAndDelete的实现,很难说。

但是,如果请求中没有id参数(即req.params.idundefined(,代码可能会抛出一个错误,落在catch语句上(无论如何,如果用户至少有e.message或e.name(如果存在((。。。

但这纯粹是猜测:(


编辑

我在github上找到了猫鼬的源代码!

如果arguments.length === 1 && typeof id === 'function',则函数Model.findByIdAndDelete可以抛出TypeError

我在这里找到了

最新更新