Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Deferred
- (
- // Value is not available yet, so error
- d = Deferred();
- d.value.postln;
- )
- (
- // Value is available
- d = Deferred();
- d.value = "foo";
- d.value.postln;
- )
- (
- // Operation resulted in an error, so rethrow when accessing value;
- d = Deferred();
- d.error = Error("Something went wrong");
- d.value.postln;
- )
- (
- // Accessing Error directly: no throw
- d = Deferred();
- d.error = Error("Something went wrong");
- d.error.postln;
- )
- (
- d = Deferred();
- fork {
- var value = d.wait();
- value.postln;
- };
- fork {
- 1.wait;
- d.value = "Done";
- }
- )
- (
- // Error is thrown during wait call
- d = Deferred();
- fork {
- var value = d.wait();
- value.postln;
- };
- fork {
- 1.wait;
- d.error = Error("oops")
- }
- )
- (
- d = Deferred();
- fork {
- d.then({
- |value|
- value.postln;
- })
- };
- fork {
- 1.wait;
- d.value = "Function style";
- }
- )
- switch
- (
- d = Deferred();
- fork {
- d.then({
- |value|
- value.postln;
- })
- };
- fork {
- 1.wait;
- d.error = Error("Error style");
- }
- )
- (
- d = Deferred();
- fork {
- d.then({
- |value|
- value.postln;
- }, {
- |error|
- "Handled: %".format(error).postln;
- })
- };
- fork {
- 1.wait;
- d.error = Error("Error style");
- }
- )
- (
- d = Deferred();
- fork {
- d.then({
- |value|
- value.postln;
- }, {
- |error|
- "Handled: %".format(error).postln;
- })
- };
- fork {
- 1.wait;
- d.error = Error("Error style");
- }
- )
Add Comment
Please, Sign In to add comment