Use a countdown latch.  Use Promise.promise for another SAC.