2015-07-21 2 views
2

Мне нужно проверить на предмет отладки, если обещание уже разрешено - что-то вроде p.isResolved(). Есть какой-либо способ сделать это?Как проверить текущее состояние Promise?

+0

Promise.state? https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Promise – shershen

+3

@shershen Это не открытый объект. – loganfsmyth

ответ

4

Trigger бревно, когда он разрешен или испускают событие, если вы хотите быть обработаны в другом месте:

triggerMyPromiseMethod() 
    .then((response) => { 
     console.log('Promise resolved', response) 

     // continue... 
    }) 
    .catch((err) => { 
     console.log('Something went wrong with my Promise', err) 
    }) 
+0

согласился с @Claudio Bredfeldt, единственный способ отладить ваш код с помощью журналов. –

+0

Итак, я понимаю, по вашему мнению, что нет способа проверить состояние Promise вне контекста обещания, верно? – someone235

+2

«По дизайну мгновенное состояние и ценность обещания не могут быть проверены синхронно с кодом, не вызывая метод then().», MDN Promise Documentation –