예제 #1
0
 public function then(callable $complete, $priority = 0) : PromiseMap
 {
     $promise = new PromiseTestObject(null);
     $promise->setFulfillCallback(function ($result, $params) use($complete) {
         $complete($result, $params);
     });
     $this->addPromiseCallback($promise, $priority);
     return $promise;
 }
예제 #2
0
 public function testPromiseResult()
 {
     $main_promise = new PromiseTestObject(null);
     $result_array = null;
     $test_array = array('testing', 'that', 'this', 'works');
     $main_promise->setContract(function () use($main_promise, $test_array) {
         $main_promise->fulfillPromise(PromiseMap::PROMISE_SUCCESS, $test_array);
     });
     $main_promise->then(function ($result, array $results) use(&$result_array) {
         $result_array = $results;
     });
     $main_promise->execute();
     $this->assertEquals($test_array, $result_array);
     $this->assertEquals($main_promise->getPromiseResult(), $result_array);
 }