Comments (4)
No need to use promise adapter to create promise. Only requirement is to return a supported promise for the adapter you are using.
from dataloader-php.
Thank you.
I still use the PromiseAdapterInterface, so my service does not need two adapters injected - its confusing ;)
But good to know.
from dataloader-php.
Overblog\PromiseAdapter\PromiseAdapterInterface
promise adapter is just an interface to help abstract Promises between different libs for dataloaders. GraphQL\Executor\Promise\PromiseAdapter
has the same function but for graphql. GraphQL is not a requirements for this lib. When I introduce GraphQL\Executor\Promise\PromiseAdapter
on graphql I try to make this a independent lib but was rejected :D
from dataloader-php.
So you made instead of inheritance a composition to serve different adapters under the PromiseAdapterInterface so you are not dependend on a certain lib's interface.
When I use the WebonyxSync adapter as backend for the PromiseAdapterInterface, do I need to use it directly for the actual batchLoadFn result, or can I also use the PromiseAdapterInterface for the result of batchLoadFn? because the docs only tell "you need to return a promise".
I am a bit confused by this due to doc for the dataloader-bundle, which seem to use the GraphQL\Executor\Promise\PromiseAdapter for loader services results and Overblog\PromiseAdapter\PromiseAdapterInterface for the DataLoaders.
While I understand, that they both provide same base API, is there a reason to use two different adapters?
from dataloader-php.
Related Issues (20)
- Problem with 1:N relation HOT 3
- Promise returned from DataLoader::{load,loadMany} is not "thenable"
- Thoughts: ORM, DDD conflicting? HOT 3
- How to ensure keys get mapped to the correct objects? HOT 3
- Error when doing a GraphQL request: "Cannot change rejection reason" HOT 4
- How to use it with webonyx/graphql in laravel way (query-per-class) ? help needed
- Add a benchmark tool to follow performance
- Memory leak at WebonyxGraphQLSyncPromiseAdapter
- Unable to run dataloader for simple example HOT 3
- Incompatibility with experimental Executor HOT 4
- Returned data preconditions HOT 2
- Log activities to help profiling / debugging HOT 2
- Context for fetching HOT 1
- Argument 1 passed to GraphQL\Executor\Promise\Adapter\SyncPromiseAdapter::wait() must be an instance of GraphQL\Executor\Promise\Promise, instance of GuzzleHttp\Promise\Promise given, called
- Promise never triggered HOT 1
- Throw/Unwrap PHP7 \Error in await()
- Correct use without deprecated `GraphQL::execute()`? HOT 3
- Support for PHP 8 HOT 1
- DataLoader::await resolves all loaders
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 dataloader-php.