Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 825 Bytes

File metadata and controls

24 lines (18 loc) · 825 Bytes

Promiser

Make your promises prettier with this simple wrapper, that can help you write promises without using a callback!

Usage

function foo() {
    const promiser = new Promiser();

    setTimeout(() => {
        let lucky = Math.random();

        if (lucky > 0.8)
            promiser.resolve("Oh yes! You're very lucky!");
        else
            promiser.reject("I suggest you to try again :( ... next year");
    }, 1500);

    return promiser.promise;
}

You can also check if a Promiser instance has already been solved by calling promiser.isSolved getter which will return true if promiser has been solved and false if not.

A single instance of Promiser can be used only once, so once you have solved your promise, that instance can't be reused for resolving/rejecting any other value!