Haskell's do notation is more flexible since it can handle any type of monad. Since coroutines only represent the Either monad, it should keep average developers from getting confused.
What I don't understand is how the continuation is passed as a parameter in the methods: userRemoteDataSource.loginUser() & userLocalDataSource.logUserIn().
4 года назад+2
ok, I learned that the compiler writes horrible code for me that I would never write this way.
I think it is. I am learning asynchronous programming for the first time and until I fully understand how a programming construct maps to the memory and the cpu of the machine I won't be able to use this confidently.
it is for me, so ig you are wrong :/ might be useless for **some** developers, but you didn't use the word "some" (that would also make your comment redundant)
The comparison to the callback-based approach was nicely done 👍 Highlighting how the Continuation interface is used by the compiler was really useful!
This is very timely. I am currently learning about Coroutines.
High quality. Well explained. It clicked several times in my head. Thanks!
This is the best explanation
I think my brain hurts now... it's gonna take me a while to parse this.
Really good explanation
Me before this video: 80 IQ
Me after this video: 120 IQ
Me before this video: I know something about Kotlin
Me after this video: I don't know Kotlin at all
@@guzzledust It's funny because it's true 🤣
@@guzzledust My thought, exactly!
intro and outro music is too loud compared to the voices haha but other than that, i love the video!!! so much good information
1:20, why doesn't your example code use the userId and password parameters at all? that is a little confusing when comparing to the suspend version.
This is sinfully refreshing for functional programming purists.
Haskell's do notation is more flexible since it can handle any type of monad. Since coroutines only represent the Either monad, it should keep average developers from getting confused.
Thanks
Thanks, Dree! If you're interested in learning additional resources, check out the Kotlin Vocabulary playlist: goo.gle/2wHr94N
Happy learning 😎
Thank you guys for this awesome info about suspended funs
What I don't understand is how the continuation is passed as a parameter in the methods:
userRemoteDataSource.loginUser() & userLocalDataSource.logUserIn().
ok, I learned that the compiler writes horrible code for me that I would never write this way.
Its sad because when you want to use suspend you have to suspend fun ;)!!
Nice one.
Awesome!
I've suspended understanding it without blocking
Yes
this is some heavy stuff
Hello everyone 😊
How smart Android 11 going to be in my smartphone? 😏😷
Lol wow
Ok but all these implementation details are not very useful for a developer
If you get to know the inbuilt classes and methods, you can rise above the crowd :P
I think it is. I am learning asynchronous programming for the first time and until I fully understand how a programming construct maps to the memory and the cpu of the machine I won't be able to use this confidently.
it is for me, so ig you are wrong :/
might be useless for **some** developers, but you didn't use the word "some" (that would also make your comment redundant)