class jnc.Promise

class Promise {
    // construction

    construct();
    destruct();

    // methods

    void async asyncSetScheduler(jnc.Scheduler* scheduler);
    long errorcode wait(void function* handler());
    long errorcode wait(void function* handler(std.Error const* error));
    long errorcode wait(void function* handler(variant_t result, std.Error const* error));
    bool errorcode cancelWait(long handle);
    variant_t blockingWait();
    import jnc.Promise.variant_t async asyncWait();
};