[英]Mongoose and BlueBird return from promise
我使用貓鼬和藍鳥作為Promise框架。 每當我使用“保存”或“刪除”時,都會出現此錯誤:
Warning: a promise was created in a handler but was not returned from it
我確實嘗試過花幾天時間,而在谷歌搜索時,我嘗試了很多方法,其中包括:
Kinda很有趣,但是我嘗試更新我所有的項目npm軟件包,因為我在github上看到了關於它的討論,有人提到他們已經解決了。 但這沒用。
還有更多..我真的很絕望。
不要誤會我的意思,代碼可以很好地工作,但是每次在控制台中看到這個巨大的警告,我都會感到內。
有什么建議么?
此錯誤意味着某些代碼執行了以下操作:
somePromise.then(x => {
someOtherPromiseReturningFunction();
}).then(value => {
// forgot a return, oh dear
});
這是一個很常見的忘記return
錯誤,它與錯誤處理混在一起並導致問題。
有時問題不在於您的代碼,而在於您所使用的庫的代碼-在這種情況下,您應該為該代碼禁用警告:
require("bluebird")
分別要求bluebird用於您自己的代碼和貓鼬,並將其與警告一起使用。 通過在代碼中使用require("bluebird")
並使用require("bluebird/js/release/promise")();
覆蓋貓鼬的Promise,可以獲得藍鳥的兩個副本require("bluebird/js/release/promise")();
這將創建一個獨立副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.