Skip to content

Commit 8f81038

Browse files
committed
Use closures to allow direct calling
1 parent 2836925 commit 8f81038

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

src/React/Promise/Promise.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,20 @@ public function then($fulfilledHandler = null, $errorHandler = null, $progressHa
2828

2929
private function call($callback)
3030
{
31+
$deferred = $this->deferred;
32+
3133
try {
3234
call_user_func(
3335
$callback,
34-
array($this->deferred, 'resolve'),
35-
array($this->deferred, 'reject'),
36-
array($this->deferred, 'progress')
36+
function ($result = null) use ($deferred) {
37+
$deferred->resolve($result);
38+
},
39+
function ($reason = null) use ($deferred) {
40+
$deferred->reject($reason);
41+
},
42+
function ($update = null) use ($deferred) {
43+
$deferred->progress($update);
44+
}
3745
);
3846
} catch (\Exception $e) {
3947
$this->deferred->reject($e);

0 commit comments

Comments
 (0)