Great video Lee. Really helpful for me in understanding what exactly dataloader is doing. We've got something similar but it required us to pass a reference around and was not maintainable.
hey awesome introduction and code walkthrough through DataLoader. Appreciate it! A lot has happened since 2016 in the GraphQL world so I just gotta ask if DataLoader is used by Facebook for the new redesign or in some other applications?
Does it mean that in the context of Node.JS, process.nextTick() will run in the end of HTTP request ? In other words once everything for this request will be done.
At 19:38 you say that some promises have not run yet. Is that accurate to say? I thought that Promises are always hot, they run at instantiation time. If my understanding is correct, I still believe this one of the major shortcomings I see with promises over obsevables which supports a cold mode. This is also why I think the GraphQL implementation has some limitations, since it is based on the less powerful promise construct. An implementation based on observables would also have allowed support for a partially resolved graph which has advantages over the GQL subscription pattern with its async iterators.
wouldn't this._queue.push({ key, resolve, reject }) just be a object literal not a tuple? I believe tuple do not use a key so it would be this._queue.push([ key, resolve, reject ]). Please correct me if I am wrong :)
var supports variable hoisting and is visible within the scope of the function it was defined. let is only visible in within the curly brackets it was defined and will throw an error if you try to use it if it hasn't been defined. Sometimes var is handy, especially with async functions since the var will be undefined until it has a value.
Great video - queuing/batching technique is very similar to what we have been using successfully with github.com/ZJONSSON/clues/blob/master/util/reptiles-client.js
The enthusiasm is what does it for me. You're so excited about this tool - it's contagious. Lol
Thank you for taking the time to make this! Years later and still helpful :D
My tech lead recommend me this video, It's so good, thank you so much
This is fantastic Lee, I love having the background story and you provided just the right amount of detail in your walk through.
Thank you for great presentation and all explanations. It was a great idea widely adopted over time!
Thanks Lee for this walkthrough! Just the right amount of detail and length. Would love to see more of these!
Just watched, still valuable. Thanks!
Wow! That's exactly what I was searching for!
Thanks for this awesome walkthrough
Thanks for this, Lee. Really appreciated the code walkthrough and you rationale for the decisions you've taken.
This series is so good. Please keep posting more!
Thanks for taking the time to walk through the source code!
Great video Lee. Really helpful for me in understanding what exactly dataloader is doing. We've got something similar but it required us to pass a reference around and was not maintainable.
Thanks for the great explanation!
Very clear and concise walkthrough.
Thank you so much for making this video, please do more on some advanced topics!
Great job Lee.
Incredible, thank you for the clear explanation! learned some new stuff about the micro-tasks queue ;)
Thanks for the walkthrough.
Amazing library and even more amazing explanation. Great job!
Source code walkthrough was really helpful. I'll check out your other video, too. Thanks a lot.
This was great. Thanks for taking the time to produce this video!
Thanks Lee for this walkthrough.
Keep up the good work. The library is really awesome.
Thanks Lee, Such an awesome Video with all the details
hey awesome introduction and code walkthrough through DataLoader. Appreciate it!
A lot has happened since 2016 in the GraphQL world so I just gotta ask if DataLoader is used by Facebook for the new redesign or in some other applications?
This is an amazing walk through! Thanks so much for taking the time to do this.
You're a genius man.
Great, waiting for more!
Thanks for the great talk!
thanks, Lee. Great video
Does it mean that in the context of Node.JS, process.nextTick() will run in the end of HTTP request ? In other words once everything for this request will be done.
Thanks Lee. This was useful.
Thank you so much Lee, this is really useful
At 19:38 you say that some promises have not run yet. Is that accurate to say? I thought that Promises are always hot, they run at instantiation time. If my understanding is correct, I still believe this one of the major shortcomings I see with promises over obsevables which supports a cold mode. This is also why I think the GraphQL implementation has some limitations, since it is based on the less powerful promise construct. An implementation based on observables would also have allowed support for a partially resolved graph which has advantages over the GQL subscription pattern with its async iterators.
amazing work Lee, I was wondering if you would use anything like this in conjecture to a graph database,feels unnecessary maybe .
Thanks! This was really useful.
I've not yet checked out Relay, but this sounds similar to me. Fair to call this Relay-lite (ish)? Very much appreciate the walk through!
Brilliant!
where is the other videos about graphql
th-cam.com/video/IqtYr6RX32Q/w-d-xo.html
Thank you!
wouldn't this._queue.push({ key, resolve, reject }) just be a object literal not a tuple? I believe tuple do not use a key so it would be this._queue.push([ key, resolve, reject ]). Please correct me if I am wrong :)
very very very cool.....
Neat. Thank you.
Thanks for explaining those stuff :)
thank you
Awesome 🤘👍
💪🏿
Why "var" instead of "let"
Because he understands function scoping ;)
var supports variable hoisting and is visible within the scope of the function it was defined. let is only visible in within the curly brackets it was defined and will throw an error if you try to use it if it hasn't been defined. Sometimes var is handy, especially with async functions since the var will be undefined until it has a value.
When you realise that you'll never be as smart as this kid...
I sent you a few messages via Twitter, anything?
Great video - queuing/batching technique is very similar to what we have been using successfully with github.com/ZJONSSON/clues/blob/master/util/reptiles-client.js
neat
This was very very helpful, thank you!