Skip to content

Conversation

@WyriHaximus
Copy link
Member

This makes awaiting an already resolved promise significantly faster.

@WyriHaximusWyriHaximus added this to the v4.0.0 milestone Dec 13, 2021
@WyriHaximusWyriHaximusforce-pushed the fibers-fastforward-resolved-promise branch from fbca226 to 517da31CompareDecember 13, 2021 20:18
Copy link
Member

@clueclue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WyriHaximus Makes a lot of sense!

Looking forward to also seeing similar changes in the v2/v3 branches 👍

@WyriHaximusWyriHaximusforce-pushed the fibers-fastforward-resolved-promise branch 5 times, most recently from ed262a9 to eb47800CompareDecember 24, 2021 21:00
@WyriHaximus
Copy link
MemberAuthor

Looking forward to also seeing similar changes in the v2/v3 branches 👍

@clue Once this one lands, I'll port it to the v2 and v3 branches.

This makes `await`ing an already resolved promise significantly faster.
@WyriHaximusWyriHaximusforce-pushed the fibers-fastforward-resolved-promise branch from eb47800 to 546cb73CompareDecember 24, 2021 21:36
clue
clue approved these changes Jan 5, 2022
Copy link
Member

@clueclue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WyriHaximus Thanks for the update, changes LGTM! :shipit:

@clueclue added new feature New feature or request and removed maintenance labels Jan 5, 2022
@clueclue merged commit ff11a7a into reactphp:mainJan 5, 2022
@WyriHaximusWyriHaximus deleted the fibers-fastforward-resolved-promise branch January 10, 2022 07:32
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 10, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 10, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 10, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 14, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 17, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 17, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 25, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 25, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 25, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Jan 25, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 11, 2022
This makes `await`ing an already resolved promise significantly faster. Ported from: reactphp#18
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 20, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 21, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 21, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 24, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Feb 24, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Mar 2, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Mar 3, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Mar 3, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Mar 4, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
WyriHaximus added a commit to WyriHaximus-labs/async that referenced this pull request Mar 4, 2022
Since `async()` returns a promise and those are normally cancelable, implementing this puts them in line with the rest of our ecosystem. As such the following example will throw a timeout exception from the canceled `sleep()` call. ```php $promise = async(static function (): int{echo 'a'; await(sleep(2)); echo 'b'; return time()})(); $promise->cancel(); await($promise); ```` This builds on top of reactphp#15, reactphp#18, reactphp#19, reactphp#26, reactphp#28, reactphp#30, and reactphp#32.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@WyriHaximus@clue