Comments (6)
As long as it has a then
method we at @reactphp can support it. (Assuming you're wrapping it through our resolve
function.)
from psl.
@veewee Yup, only thing is that we assume it is a pure promise with no side effects.
from psl.
Promises sound nice as well, but there are many packages out there already... Does it make a lot of sense to implement it again from scratch (which is a lot of hard work) instead of using amphp or react promises and coroutines? (Which are quite nice and have the async event loops covered through multiple extensions with vanilla PHP callbacks etc.)
from psl.
I'm not really sure about this, the question should be: "does it make sense to have promises in a standard library", the issue is we cannot use Amphp, or ReactPHP here, as PSL should not have any dependencies except for PHP itself and core/bundled/external extensions ( we shouldn't rely on PECL extensions as well, see: https://www.php.net/manual/en/extensions.membership.php ). 🤔
from psl.
I believe guzzle does the same, so I'm closing this as Psl\Result\ResultInterface
will have a then
method ( see discussion at #65 ), which mean it can act as a promise to some extent.
from psl.
Wow, that's nice! Did not know react could do that!
from psl.
Related Issues (20)
- [Type] add `nonnull` type
- [Type] add `string_range` and `int_range` types.
- Undeprecate `positive_int` HOT 2
- base64 url safe encoding HOT 1
- Return value of `Psl\Str\trim()` must be of the type string, null returned HOT 6
- `CoercionException::withValue()` called but not throwed. Is this dead code? HOT 1
- Improve error messages for shape and vec -like types
- Improve Dict\merge HOT 1
- Make PSL PHPStan compliant
- Add an `option()` type to `Psl\Type` to coerce to a `Psl\Option\Option` HOT 3
- Split this package is multiple sub-packages HOT 2
- [Bug] Vec\range handles ints which don't roundtrip through floats wrong
- intersection + shapes unexpected behaviour (possible bug?) HOT 4
- Type\implements_interface HOT 3
- Corece an `array` out of an `stdClass`? HOT 3
- [RFC] Change `ResultInterface<T>` to `ResultInterface<T, E>` HOT 5
- chore: rename all enum cases to use PascalCase
- Improvement converted json type HOT 5
- Is nonnull helpful in any way? HOT 1
- PHPStan extension unable to report optional positive-int
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 psl.