Мне нужно проверить на предмет отладки, если обещание уже разрешено - что-то вроде p.isResolved()
. Есть какой-либо способ сделать это?Как проверить текущее состояние Promise?
ответ
Trigger бревно, когда он разрешен или испускают событие, если вы хотите быть обработаны в другом месте:
triggerMyPromiseMethod()
.then((response) => {
console.log('Promise resolved', response)
// continue...
})
.catch((err) => {
console.log('Something went wrong with my Promise', err)
})
согласился с @Claudio Bredfeldt, единственный способ отладить ваш код с помощью журналов. –
Итак, я понимаю, по вашему мнению, что нет способа проверить состояние Promise вне контекста обещания, верно? – someone235
«По дизайну мгновенное состояние и ценность обещания не могут быть проверены синхронно с кодом, не вызывая метод then().», MDN Promise Documentation –
Promise.state? https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Promise – shershen
@shershen Это не открытый объект. – loganfsmyth