Comments (8)
See PR #253 which adds stricter types for all callable arguments.
Spent the better half of the day working on all edge cases and making sure this is fully covered in our tests. I hope this helps! 👍 If so, consider supporting this project, for example by becoming a sponsor ❤️
from promise.
Thanks for filing this @stof just approved and merged #253. Looking forward to your follow up 👍
from promise.
@stof Thanks for reporting and linking the downstream ticket 👍
I think we all agree that adding more specific types for callables would be useful. I'm happy to look into this once time allows, otherwise we're happy to accept PRs.
For the record, this appears to be clearly documented behavior with its BC implications mentioned in the changelog, so this would be more of feature addition or maintenance rather than a bug, see also related tickets #213, #246 and #247.
from promise.
@clue sure, the upgrade guide does not actually mention anything for the signature of the $resolve
callback for the API of the promise constructor (even though I totally understand that this change is related to #213, it isn't mentioned anywhere).
And the changelog entry for that change mention Improve type safety of promises
, but this particular change does not provide any type safety given that it is not reported in types...
from promise.
Line 48 in baf9ab5
from promise.
@clue what I mean is that none of the code examples mention that API as an impacted one (and it is the only API for which static analysis won't help, so I would say it would probably have been the most important one to show explicitly)
from promise.
@clue I started to look at that and I'm struggling with the type of the $canceller
callback of the promise constructor. It looks like the canceller can actually be called with $resolve
and $reject
(same than the $resolver
callback), but what would be the expected argument for $resolve
then ? Does it even make sense to call it ?
from promise.
@clue do you have any insight on the expected behavior for the canceller callback ?
from promise.
Related Issues (20)
- 2.x returned promise types HOT 3
- return promise from onFullfilled HOT 8
- Fullfilled or Rejected promise and then method HOT 9
- Is there is any way in Reactphp to run code really asynchronously HOT 1
- [RFC] Consider deprecating FulfilledPromise and RejectedPromise (mark as internal only) HOT 6
- Detecting thenable causes unwanted side effects
- ETA version 3? HOT 4
- Call promise twice HOT 2
- When serializing & later unserializing exceptions thrown by clashing function calls HOT 13
- PHP 8.0 Deprecation Notice HOT 1
- Blocking a promise from running untill another promise has completed. HOT 11
- Problem with PHP 8 HOT 3
- allSettled operator HOT 2
- QUESTION - How to test if a code is blocking or not HOT 2
- php 7.1 multiple exceptions using the pipe (|) character HOT 1
- Allow `iterable` instead of `array` for `all()`, `race()` and `any()` HOT 1
- Add example folder HOT 2
- Support Disjunctive Normal Form Types (DNF types) for PHP 8.2+
- Exception: Value of type null is not callable HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from promise.