Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import neko.Lib;
- import sys.FileSystem;
- import sys.io.File;
- import tink.core.Future;
- import tink.core.Outcome;
- class FutureTriggerExample
- {
- static function main()
- {
- TxtLoaders.loadAll(['existing.txt', 'non-existing.txt']).handle(function(outcome) trace(outcome));
- }
- }
- class TxtLoader {
- static public function load(url:String):Surprise<String, String> {
- var f = Future.trigger();
- if (FileSystem.exists(url))
- f.trigger(Success( File.getContent(url)))
- else
- f.trigger(Failure('Can\'t find $url'));
- return f.asFuture();
- }
- }
- class TxtLoaders {
- static public function loadAll(urls:Array<String>): Future<Array<Outcome<String, String>>> {
- return [ for (url in urls) TxtLoader.load(url) ];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement