Hope you enjoyed the video! Small correction (9:18), ForEachAsync doesn't "materialize" the IAsyncEnumerable. It iterates over it, similar to the await foreach we wrote earlier. Here is the underlying source code: github.com/dotnet/reactive/blob/85f1eb7c53e27cccdbeee3e0b044916168843fcc/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ForEach.cs#L30
Great explanation. For F# programmers, consider using the 'TaskSeq' Nuget Lib, which brings 'await foreach' to F# using Computation Expressions like 'task {...}' and 'seq{...}'.
How do you get IAsyncEnumerable to work in an api contoller or minimal api? No matter what I try it still buffers the responses and sends them all at one time. Thanks
What about EF Core though? How will it interact with it? One SQL request per element of the collection? Or will it fetch all the collection like with a standard List?
Im lucky enough to use it on a daily basis. Extremely useful when working with sensors, networking, or any kind of real time streaming where the data being returned can potentially be infinite. Great video 👍 keep it up!
Hey, first time viewer of the channel. Thumbs up for the short & informative video, liked it very much. Could you please share what kind of skin are you using for your terminal? It seems very useful.
I'm struggling to get good sound with the Blue Yeti. I hope the video coming out today has better sound quality. Please let me know if it's still not great! Otherwise, I think it's time to get a better mic 🙂
Thank u for the video. I want to suggest another topic related to DDD/Design/Architecture. Could u post a video about anemic code/design? Cons and pros. Thank u.
That's a great topic. I'll see if I can create a compelling video. Are you following @codeopinion? He covers this topic in a few different videos, I think
I agree with your opinion on why it wasn't more widely accepted. I used it quite a bit on a project and we ended up needing to write helper methods just to work with them when those helpers could have just been built in. I am hoping someday Microsoft gives it another pass to consolidate it. It is very nice when calling paged APIs though.
Random question, but what do you use to draw the boxes and arrows on your screen ? In today’s remote working environment I’m really looking for something this
I just used it today and was wondering about cancellationtoken usage. And just saw your video!Great timing! 🙂 I see you have used break keyword without cancellation token. I couldn't find such concise explanation anywhere. Thank you! But can you explain use of cancellation token with iasyncenumerable?
all clean architecture implementations I have seen in my 15+ years experience and DDD across several organizations (multi billion dollars)were mostly terrible. I have come across a project two years ago that was .net core 3.1 vertical slice cqrs and mediator, fluent result, and angular as frontend. It was a beautiful project to work with. Clean architecture on the other hand, i am done with it
I've worked on and researched many projects within Microsoft and public open-source projects, and I tend to agree. Working in a small aligned team (1-5 devs) is a whole different story than bigger, unaligned teams.
This is awesome and I think will solve a pretty nasty bit of code I haven't been able to simplify. One question: Isn't printing the statement "Received 10 numbers" a bit misleading? The Console.WriteLine() only gets called once, but if the NumbersClient only returns a page of 10 (with the range of 0-9), then 11 would only be in our final results if the NumbersClient returned a second page (so actually 20 numbers). I'm not too familiar with the yield keyword, so that part kind of confused me.
Hope you enjoyed the video! Small correction (9:18), ForEachAsync doesn't "materialize" the IAsyncEnumerable. It iterates over it, similar to the await foreach we wrote earlier. Here is the underlying source code: github.com/dotnet/reactive/blob/85f1eb7c53e27cccdbeee3e0b044916168843fcc/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ForEach.cs#L30
System.Linq.Async? I learned something new 😁
Yeah it’s pretty sweet 😎
Are the 2 best channels on TH-cam, I learned so much with both. Goats
Amichai, I'm so glad I found your channel. You're the GOAT
Great explanation. For F# programmers, consider using the 'TaskSeq' Nuget Lib, which brings 'await foreach' to F# using Computation Expressions like 'task {...}' and 'seq{...}'.
Nicely done! I love the way you explain things. You're a natural teacher!
Thank you!
How do you get IAsyncEnumerable to work in an api contoller or minimal api? No matter what I try it still buffers the responses and sends them all at one time. Thanks
Would you use it as a return type in web api controllers?
What about EF Core though? How will it interact with it? One SQL request per element of the collection? Or will it fetch all the collection like with a standard List?
Great content. Highly appreciated 👍
Please update VS Code, that notification is taking my attention to often 😁
Hahah it's already updated in the video coming out today 😉
Im lucky enough to use it on a daily basis. Extremely useful when working with sensors, networking, or any kind of real time streaming where the data being returned can potentially be infinite. Great video 👍 keep it up!
Sounds interesting 👀
Hey, first time viewer of the channel. Thumbs up for the short & informative video, liked it very much. Could you please share what kind of skin are you using for your terminal? It seems very useful.
Thanks! You can follow this step by step: www.hanselman.com/blog/my-ultimate-powershell-prompt-with-oh-my-posh-and-the-windows-terminal
lol by the 3min mark I already tuned out. KISS
Great tutorial !
Thanks ! great video , but the sound quality is not great.
I'm struggling to get good sound with the Blue Yeti. I hope the video coming out today has better sound quality. Please let me know if it's still not great! Otherwise, I think it's time to get a better mic 🙂
Thank u for the video. I want to suggest another topic related to DDD/Design/Architecture. Could u post a video about anemic code/design? Cons and pros. Thank u.
That's a great topic. I'll see if I can create a compelling video. Are you following @codeopinion? He covers this topic in a few different videos, I think
is it possible to get the source code for this please?
Correct. Even in the XStreamingElement you cannot use this…😢
I agree with your opinion on why it wasn't more widely accepted. I used it quite a bit on a project and we ended up needing to write helper methods just to work with them when those helpers could have just been built in. I am hoping someday Microsoft gives it another pass to consolidate it. It is very nice when calling paged APIs though.
this is friggin gamechanger!!! How do I not know about it?? Whares tha catch?? Can you turn it into IObservable??
can you turn IObservable into IAsyncEnumerable? What the hell? I want to know more!!!
being able to turn this into IObservable would make some stuff sooooo easy!!
Random question, but what do you use to draw the boxes and arrows on your screen ? In today’s remote working environment I’m really looking for something this
ZoomIt. Check out aka.ms/ZoomIt
Is it not too much advertisement in a 10 minutes video you have 4-5 ads in between and in the beginning 2?
Yikes.. TH-cam controls all my ad placements before and during the video
The biggest surprise to me is how easy it is to implement lazy code using yields eveywhere!
Do you plan to get back to the DDD / Clean Arch series? :)
Of course, there are still many great topics to cover 👀
Why was it named IAsyncEnumerable instead of IEnumerableAsync?
Cuz it isn't a method
System.Linq.Async??
I wonder how long that has been functional 😊
I just used it today and was wondering about cancellationtoken usage. And just saw your video!Great timing! 🙂
I see you have used break keyword without cancellation token. I couldn't find such concise explanation anywhere. Thank you!
But can you explain use of cancellation token with iasyncenumerable?
I might do a follow up video on this. Thanks, Nayan!
all clean architecture implementations I have seen in my 15+ years experience and DDD across several organizations (multi billion dollars)were mostly terrible.
I have come across a project two years ago that was .net core 3.1 vertical slice cqrs and mediator, fluent result, and angular as frontend.
It was a beautiful project to work with.
Clean architecture on the other hand, i am done with it
I've worked on and researched many projects within Microsoft and public open-source projects, and I tend to agree.
Working in a small aligned team (1-5 devs) is a whole different story than bigger, unaligned teams.
So, what architecture to use? where can we find some documentation?
Are you using Vim for your keybinds?
Yup 👍
This is awesome and I think will solve a pretty nasty bit of code I haven't been able to simplify. One question: Isn't printing the statement "Received 10 numbers" a bit misleading? The Console.WriteLine() only gets called once, but if the NumbersClient only returns a page of 10 (with the range of 0-9), then 11 would only be in our final results if the NumbersClient returned a second page (so actually 20 numbers). I'm not too familiar with the yield keyword, so that part kind of confused me.
Yes, it isn't very clear. It would have been clearer to put it right under the call to the client. Sorry about that 🙂
Very bad example to show the benefits of IAsyncEnumerable