Como verificar se uma promessa está pendente [duplicado]

Esta pergunta já tem um ans, estava aqui:

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

Eu tenho essa situação em que gostaria de saber qual é o status de uma promessa. Abaixo, a funçãostart apenas chamasomeTest se não estiver mais em execução (a promessa não está pendente). ostart A função pode ser chamada várias vezes, mas se for chamada enquanto os testes ainda estiverem em execução, ela não esperará e retornará apenasfalse

class RunTest {
    start() {
         retVal = false;

         if (!this.promise) {
             this.promise = this.someTest();
             retVal = true;                
         }

         if ( /* if promise is resolved/rejected or not pending */ ) {
             this.promise = this.someTest();
             retVal = true;
         }

         return retVal;
    }

    someTest() {
        return new Promise((resolve, reject) => {
            // some tests go inhere
        });
    }
}

Não consigo encontrar uma maneira de simplesmente verificar o status de uma promessa. Algo comothis.promise.isPending seria bom :) Qualquer ajuda seria apreciada!

questionAnswers(2)

yourAnswerToTheQuestion