eventy ~nextgen

Asynchronous programming system


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Eventy

What I want

// Create en event engine (it logs promises)
Eventy eventy = new Eventy();

/**
 * Create a new promise who's job is to run the
 * provided lambda `(x) => (x*2)`
 */
Promise myPromise = eventy.new((x) => (x*2));

/**
 * Chain a promise to this one such that upon completion of
 * `myPromise` then `promise2` will run and `myPromise` will only
 * be considered completely done once everything from its chain forward is
 *
 * NOTE: That a promise is only completed then once its chain forwards
 * is completed
 */
Promise promise2 = eventy.new((x)=>());
myPromise.then(promise2);

/**
 * Now start the promise and await its completion,
 * this will basically sleep the calling thread
 * till it awakes. It returns a result
 *
 * Internally this calls `this.execute()` and
 * then `await()` on the calling thread (as
 * described above)
 */
Result result = myPromise.await();

/**
 * One can also just start a promise without awaiting it,
 * however the result will have to be grabbed manually later
 */
myPromise.execute();

/**
 * The status of a promise can be checked
 *
 * TODO: There should be a version
 */
if(myPromise.state == State.Finished)
{

}

/**
 * You can call await (it won't start it again)
 * but will rather sleep like await first call.
 *
 * If it has finished then result is returned.
 * It can be called over and over and the result
 * will just be returned.
 */
Result result = myPromise.await();
Authors:
  • Tristan B. Velloza Kildaire
Dependencies:
libsnooze
Versions:
0.4.3 2022-Nov-28
0.4.1 2022-Nov-28
0.4.0 2022-Nov-28
0.3.3 2022-Nov-26
0.3.2 2022-Nov-26
Show all 25 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 286 downloads total

Score:
0.8
Short URL:
eventy.dub.pm