(ранее я всегда туда передавал колбэк, и не знал что будет если так не делать, из-за чего не сразу опознал в коде место ошибки);
На примерах:
Cледующий код все равно выбросит ошибку
const promise = new Promise((_, reject) => {
setTimeout(() => reject('Catch me if you can'))
})
promise.catch()Поэтому чтобы заглушить ошибку нужно как минимум передать в catch колбэк
const promise = new Promise((_, reject) => {
setTimeout(() => reject('Catch me if you can'))
})
promise.catch(() => void 0)Думаю это было сделано для того чтобы можно было делать условный catch
const promise = new Promise((_, reject) => {
setTimeout(() => reject('Catch me if you can'))
})
promise.catch(wantToCatch ? () => void 0 : void 0)(если вы не знаете что такое`void 0` - это тоже самое что длинное undefined. В прод коде мне так "почему-то" не разрешают писать, так что отрываюсь на своих читателях : )