面對貓鼬的問題執行後承諾的NodeJS貓鼬無極然後/捕獲
MyModel.find().then((data)=> Promise.reject())
.catch(()=>console.log('first catch'))
.then(()=>console.log('ok'))
.catch(()=>console.log('second catch'));
我得到
first catch
second catch
但如果我只用本地公司承諾做到:
Promise.reject()
.catch(()=>console.log('first catch'))
.then(()=>console.log('ok'))
.catch(()=>console.log('second catch'));
執行後我得到
first catch
ok
這是確定的承諾方面docs
看來,貓鼬使用自己的promise implementation
我發現我可以解決通過執行以下
new Promise((resolve, reject) => { MyModel.find().then((data) => reject()) })
.catch(()=>console.log('first catch'))
.then(()=>console.log('ok')
.catch(()=>console.log('second catch'));
它的工作原理,因爲它應該按照文檔:
first catch
ok
A呃建議如何更好地工作?
謝謝,它會幫助我很多! – BotanMan