Quick actions

cmd+k|ctrl+k

Navigation

Languages

Task applicative in PHP

Snippet info

Language

Php

Visibility

public

Author

rightfold

Created

2017-05-24T19:57:12Z

Updated

2017-06-08T10:18:21Z

<?php

require __DIR__ . '/lib.php';

$a = new Task(function($onSuccess, $onError) {
    echo "a\n";
    $onSuccess('a');
});

$b = new Task(function($onSuccess, $onError) {
    echo "b\n";
    $onSuccess('b');
});

$c = new Task(function($onSuccess, $onError) {
    echo "c\n";
    $onSuccess('c');
});

function concat($a) {
    return function($b) use($a) {
        return function($c) use($a, $b) {
            return "$a$b$c";
        };
    };
}

$abc = ap(ap(map('concat', $a), $b), $c);

$abc->perform(function($result) {
    echo "$result\n";
}, function($error) {
    throw $error;
});
INFO