Promise Implementation My own implementation the Promise class public methods then catch finally static methods resolve reject any race allSettled all