Adds a functions to be called when the task settles for each possible state it can transition to.
Adds a functions to be called when the task settles for each possible state it can transition to.
const { task } = require('folktale/concurrency/task');
task(r => r.resolve('hello')).run().listen({
onCancelled: () => { throw 'never happens' },
onRejected: (error) => { throw 'never happens' },
onResolved: (value) => { $ASSERT(value == 'hello') }
});
task(r => r.reject('hello')).run().listen({
onCancelled: () => { throw 'never happens' },
onRejected: (error) => { $ASSERT(error == 'hello') },
onResolved: (value) => { throw 'never happens' }
});
task(r => r.cancel()).run().listen({
onCancelled: () => { $ASSERT(true) },
onRejected: (error) => { throw 'never happens' },
onResolved: (value) => { throw 'never happens' }
});