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?
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.
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.
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
This is fantastic Lee, I love having the background story and you provided just the right amount of detail in your walk through.
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
Thanks Lee for this walkthrough! Just the right amount of detail and length. Would love to see more of these!
Thank you for great presentation and all explanations. It was a great idea widely adopted over time!
This series is so good. Please keep posting more!
Thanks for this, Lee. Really appreciated the code walkthrough and you rationale for the decisions you've taken.
My tech lead recommend me this video, It's so good, thank you so much
Thanks for this awesome walkthrough
Just watched, still valuable. Thanks!
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.
Great job Lee.
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?
Wow! That's exactly what I was searching for!
Very clear and concise walkthrough.
Thank you so much for making this video, please do more on some advanced topics!
Thanks for the great explanation!
Thanks for taking the time to walk through the source code!
Source code walkthrough was really helpful. I'll check out your other video, too. Thanks a lot.
Amazing library and even more amazing explanation. Great job!
Thanks for the walkthrough.
This was great. Thanks for taking the time to produce this video!
Incredible, thank you for the clear explanation! learned some new stuff about the micro-tasks queue ;)
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.
Thanks Lee for this walkthrough.
This is an amazing walk through! Thanks so much for taking the time to do this.
Keep up the good work. The library is really awesome.
Great, waiting for more!
Thanks Lee, Such an awesome Video with all the details
thanks, Lee. Great video
You're a genius man.
Thanks Lee. This was useful.
Thanks for the great talk!
amazing work Lee, I was wondering if you would use anything like this in conjecture to a graph database,feels unnecessary maybe .
Thank you so much Lee, this is really useful
Thanks! This was really useful.
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.
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!
Thanks for explaining those stuff :)
where is the other videos about graphql
ruclips.net/video/IqtYr6RX32Q/видео.html
Thank you!
Brilliant!
Neat. 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.....
Awesome 🤘👍
💪🏿
thank you
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!