Como posso determinar de forma síncrona o estado de uma promessa do JavaScript?

Eu tenho uma promessa de JavaScript puro (implementação interna ou preenchimento múltiplo):

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

Deespecificação, uma promessa pode ser uma das seguintes:

'resolvido' e 'resolvido''resolvido' e 'rejeitado''pendente'

Tenho um caso de uso em que desejo interrogar a Promessa de forma síncrona e determinar:

a promessa está estabelecida?

Nesse caso, a promessa foi resolvida?

Eu sei que posso usar#then() agendar o trabalho a ser executado de forma assíncrona depois que o Promise mudar de estado. Eu não estou perguntando como fazer isso.

Esta pergunta é especificamente sobreinterrogatório síncrono do estado de uma promessa. Como posso conseguir isso?

questionAnswers(18)

yourAnswerToTheQuestion