¿Cómo puedo determinar sincrónicamente el estado de una promesa de JavaScript?

Tengo una promesa de JavaScript pura (implementación incorporada o relleno de polietileno):

var promise = new Promise(function (resolve, reject) { /* ... */ });

Desde elespecificación, una promesa puede ser una de:

'resuelto' y 'resuelto''resuelto' y 'rechazado''pendiente'

Tengo un caso de uso en el que deseo interrogar a Promise sincrónicamente y determinar:

¿Está resuelta la promesa?

Si es así, ¿se resuelve la promesa?

Sé que puedo usar#then() para programar el trabajo que se realizará de forma asíncrona después de que Promise cambie de estado. NO estoy preguntando cómo hacer esto.

Esta pregunta es específicamente sobreinterrogación sincrónica del estado de una promesa. ¿Cómo puedo conseguir esto?

Respuestas a la pregunta(18)

Su respuesta a la pregunta