Skip to content

Commit

Permalink
Merge pull request #46 from clue-labs/promise-v2
Browse files Browse the repository at this point in the history
[2.x] Forward compatibility with upcoming Promise v3
  • Loading branch information
WyriHaximus authored Jun 13, 2022
2 parents 1fb9459 + 963a5a1 commit e627f1c
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 8 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"require": {
"php": ">=5.3.2",
"react/event-loop": "^1.2",
"react/promise": "^2.8 || ^1.2.1"
"react/promise": "^3.0 || ^2.8 || ^1.2.1"
},
"require-dev": {
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35"
Expand Down
9 changes: 4 additions & 5 deletions src/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace React\Async;

use React\EventLoop\Loop;
use React\Promise\CancellablePromiseInterface;
use React\Promise\Deferred;
use React\Promise\PromiseInterface;

Expand Down Expand Up @@ -108,7 +107,7 @@ function parallel(array $tasks)
$pending = array();
$deferred = new Deferred(function () use (&$pending) {
foreach ($pending as $promise) {
if ($promise instanceof CancellablePromiseInterface) {
if ($promise instanceof PromiseInterface && \method_exists($promise, 'cancel')) {
$promise->cancel();
}
}
Expand All @@ -127,7 +126,7 @@ function parallel(array $tasks)
$deferred->reject($error);

foreach ($pending as $promise) {
if ($promise instanceof CancellablePromiseInterface) {
if ($promise instanceof PromiseInterface && \method_exists($promise, 'cancel')) {
$promise->cancel();
}
}
Expand Down Expand Up @@ -165,7 +164,7 @@ function series(array $tasks)
{
$pending = null;
$deferred = new Deferred(function () use (&$pending) {
if ($pending instanceof CancellablePromiseInterface) {
if ($pending instanceof PromiseInterface && \method_exists($pending, 'cancel')) {
$pending->cancel();
}
$pending = null;
Expand Down Expand Up @@ -205,7 +204,7 @@ function waterfall(array $tasks)
{
$pending = null;
$deferred = new Deferred(function () use (&$pending) {
if ($pending instanceof CancellablePromiseInterface) {
if ($pending instanceof PromiseInterface && \method_exists($pending, 'cancel')) {
$pending->cancel();
}
$pending = null;
Expand Down
2 changes: 1 addition & 1 deletion tests/SeriesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public function testSeriesWillCancelFirstPendingPromiseWhenCallingCancelOnResult
$tasks = array(
function () {
return new Promise(function ($resolve) {
$resolve();
$resolve(null);
});
},
function () use (&$cancelled) {
Expand Down
2 changes: 1 addition & 1 deletion tests/WaterfallTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public function testWaterfallWillCancelFirstPendingPromiseWhenCallingCancelOnRes
$tasks = array(
function () {
return new Promise(function ($resolve) {
$resolve();
$resolve(null);
});
},
function () use (&$cancelled) {
Expand Down

0 comments on commit e627f1c

Please sign in to comment.