Cómo verificar si una promesa está pendiente [duplicado]

Esta pregunta ya tiene una respuesta, aquí:

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

Tengo esta situación en la que me gustaría saber cuál es el estado de una promesa. Debajo, la funciónstart solo llamadassomeTest si ya no se está ejecutando (Promise no está pendiente). losstart Se puede llamar a la función muchas veces, pero si se llama mientras las pruebas aún se están ejecutando, no va a esperar y solo regresafalse

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
        });
    }
}

No puedo encontrar una manera de simplemente verificar el estado de una promesa. Algo comothis.promise.isPending sería bueno :) Cualquier ayuda sería apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta