Dart Futures - Flutter in Focus

Sdílet
Vložit
  • čas přidán 20. 06. 2019
  • This is the second video in the Flutter in Focus series on asynchronous coding in Dart. In this episode, learn everything about Future objects, Dart’s most basic API for async, including how to handle data, catch errors, and put futures to work building Flutter widgets with FutureBuilder.
    For more deep dives on things like Stateless and Stateful widgets, Flutter on iOS, and other advanced topics, check out the other episodes of Flutter in Focus.
    Asynchronous programming: futures & async-await → goo.gle/2XJLPSd
    Isolate Class → goo.gle/2F8Mg1g
    Flutter in Focus Playlist → goo.gle/FlutterInFocus
    Get started with Flutter → flutter.dev
    Try a Flutter codelab → goo.gl/d3fHPo
    Join the conversation → goo.gl/68oUnb
    Subscribe to the Flutter channel → goo.gle/FlutterYT
    #dart #darttopic

Komentáře • 126

  • @amirgamil
    @amirgamil Před 5 lety +66

    The quality of these videos is astounding. Please keep 'em coming!

  • @acavals8080
    @acavals8080 Před 2 lety +9

    Dude, you just won the Nobel prize for Simplicity! I struggled to understand how Future works when I started to use Firebase; now, it is all clear. I'm in love with Dart & Flutter.

  • @StingSting844
    @StingSting844 Před 5 lety +145

    Gift boxes dont contain errors bro! That would be a sad day

    • @sauloAndrioli
      @sauloAndrioli Před 5 lety +27

      If your gift box comes with a pair of socks, it's definitely an error

    • @johnjamesflashman6856
      @johnjamesflashman6856 Před 5 lety +5

      It could have arrived by Australian Post and most likely broken.

    • @ChumX100
      @ChumX100 Před 5 lety +7

      It's like receiving a ticking box. You don't know if it's a cool new clock or a bomb.

    • @sodiboo
      @sodiboo Před 4 lety

      nice

    • @Ahsankhan_yt
      @Ahsankhan_yt Před 3 lety

      Maybe gift box contained Galaxy Note 7

  • @palakpatel433
    @palakpatel433 Před 3 lety +1

    Loved this video, thank you for explaining things in such a straightforward way.

  • @mgorn
    @mgorn Před 5 lety +49

    This portrayal of the Future as a superposition of result and error was approved by Schrödinger and his cat.

    • @amirgamil
      @amirgamil Před 5 lety +11

      And wasn't.

    • @zewafff
      @zewafff Před 3 lety

      this comment is way underrated i guess Schrodinger isnt that well known :/

    • @mr.p215
      @mr.p215 Před 3 lety

      @@zewafff it also isn't underrated

  • @mesharibuhadi1437
    @mesharibuhadi1437 Před 2 lety +1

    Man you articulated that really well, Thank you so much for a great video!

  • @pranavbhagwat1734
    @pranavbhagwat1734 Před 2 lety +2

    Great video, simply put but with sufficient detail for beginner devs!

  • @mahmood466
    @mahmood466 Před 2 lety +2

    What a great team behind the flutter, love it ❤

  • @sayyidj6406
    @sayyidj6406 Před 2 lety +1

    i was learning flutter 1 years ago, and i falling in love with this framework, make an simple app for school, and now i am make some games with flutter too. i create bunch of png sequence from after effect, glue it into single image and paint it with drawRrect, this future delayed come in handy when display spesific size frame from image, i test it with flutter inspector in real device, some times get 60 fps sometimes not even with bloc state management plugin. struggle with performance problem, still try to learn :)

  • @MrAmG17
    @MrAmG17 Před 5 lety

    Love these series !

  • @starvingdeveloper2987
    @starvingdeveloper2987 Před 5 lety

    Thank you! Very helpful and informative!

  • @abou3542
    @abou3542 Před 5 lety

    Thanks for the explanation ! Great job !!!!

  • @bikkikumarsha
    @bikkikumarsha Před 4 lety +2

    Clean and crisp slides and diagram.

  • @sepddy
    @sepddy Před rokem

    I learned Future so good , thanks

  • @jagdishshetty4782
    @jagdishshetty4782 Před 3 lety

    Awesome explanation !!!

  • @RaymondAtivie
    @RaymondAtivie Před 5 lety

    Great explanation thank you

  • @sanghvian
    @sanghvian Před 2 lety

    Brilliant video !

  • @jaigohil4963
    @jaigohil4963 Před 5 lety +2

    Best way to think about async future api!!!

  • @rishidiwute3604
    @rishidiwute3604 Před rokem

    Loved it !

  • @juliencasta1968
    @juliencasta1968 Před 2 lety

    merci pour le tuto très bonne information cool :)

  • @adamtak3128
    @adamtak3128 Před 5 lety +127

    Any chance we can get a comprehensive flutter team created course with multiple little app builds to learn the concepts and finally a large app putting everything together?

    • @jorgevega806
      @jorgevega806 Před 5 lety +1

      This could be awesome

    • @StingSting844
      @StingSting844 Před 5 lety +8

      Yes. Its available in appbrewery.co at just 10 bucks

    • @leondroidgeeks
      @leondroidgeeks Před 5 lety +3

      There are already a lot of Cookbooks, Codelabs, Tutorials and Samples on the flutter.dev page. Have a look

    • @tanmaythakral257
      @tanmaythakral257 Před 5 lety +2

      You can check out course by Angela yu on Udemy. It's exactly how you want .

    • @PankajNikam
      @PankajNikam Před 5 lety +2

      Agree with all who mentioned app brewery. Angela is an excellent instructor. I am more than 70% done with the course and boy, it's awesome 👍

  • @a6Brgeuka
    @a6Brgeuka Před 5 lety

    Great! Thank you!

  • @user-sx4nd8pn2v
    @user-sx4nd8pn2v Před 5 lety +3

    Flutter is Future !

  • @classic0ful
    @classic0ful Před 2 lety

    so clear!!!

  • @asoyoyukii3902
    @asoyoyukii3902 Před 4 lety +3

    2:45 my face when he said gifts contain errors ...but it's a gift thou...

  • @RajileshPanoli
    @RajileshPanoli Před 5 lety

    Your videos are great! But please improve documentations by adding imporant notes so that we can easily find out why that error happens. Now only way to find out the error/ good practice is to checkout the core code using the code editor features.
    For example TextFormField does not accept any other type values other than strings. I had spent lot of time to figure out that even though it is a small fix.

  • @idiot7leon
    @idiot7leon Před 3 lety +2

    This is quite similar with promises in ES6, JavaScript.
    And the async/await is quite similar with async/await in ES7, JavaScript.

  • @ehsanhasin8092
    @ehsanhasin8092 Před rokem

    great, thank you

  • @meetamin7343
    @meetamin7343 Před 2 lety

    Thanks🙏

  • @cagrigoktas
    @cagrigoktas Před 5 lety

    Perfect 👍

  • @Sam-ch4jh
    @Sam-ch4jh Před 4 lety

    Thank you
    I read a Json file from storage, converted to map and then update into global configuration
    For me the widget gets updated with old map data while there is a delay in reading file content
    If I put the reading global configuration inside future.then( ), it does not work and gives some exception
    I don't want to use bloc pattern for small data
    Any clue?
    Also shared preferences does not seem to work

  • @n00bstude
    @n00bstude Před 5 lety

    well done.

  • @neilshih
    @neilshih Před rokem +1

    Thank you ^^

    • @flutterdev
      @flutterdev  Před rokem

      Thanks for watching, Neil! If you enjoyed this, be sure to check out the "Flutter in Focus Playlist" here:
      goo.gle/FlutterInFocus
      Happy Fluttering 🙌

  • @sumitrasaksham7715
    @sumitrasaksham7715 Před 4 lety

    Can ( provider + future ) + widget be used in the same way as set state , with the only difference of rendering that widget instead of whole screen?

  • @heshansandeepa9471
    @heshansandeepa9471 Před 2 lety +1

    very nice

  • @deepak_mishra
    @deepak_mishra Před 5 lety +1

    I don't see a cancel/dispose method in the API docs. What happens if user has moved on to some other task and we don't need the future data we requested? Related to this - if widgets don't cancel long-running futures, and move on to new screens, are we leaking memory? I am from an Android background, and essentially trying to understand if future callbacks hold weak references to the widgets.

  • @satishkumar-qq8df
    @satishkumar-qq8df Před 5 lety

    I love flutter

  • @billy-ps7jz
    @billy-ps7jz Před 5 lety

    hardest part to understand and grasp

  • @ymi_yugy3133
    @ymi_yugy3133 Před 4 lety

    What would be the most idiomatic way to synchronize Futures. For example I may have to wait on multiple Futures until I can start processing the data.

  • @LethiuxX
    @LethiuxX Před 4 lety +4

    Lol. This series is a safe space.

  • @turskyi
    @turskyi Před 2 lety +1

    It would be nice of you to show how to handle multiple futures without waiting one another

  • @rahem027
    @rahem027 Před 4 lety

    Is there a better way to nest FutureBuilders? I need 3 different resources for 3 different widgets on the same screen? Something equivalent of MultiProviders would be really great

  • @anthropicandroid4494
    @anthropicandroid4494 Před rokem

    Good explanation but I wonder about that method supplying a Future to the FutureBuilder; won't that Future be created on every call to build()? The docs recommend creating that future around initState instead

  • @muhammadkashif7209
    @muhammadkashif7209 Před 4 lety

    i love it

  • @dicasgames4927
    @dicasgames4927 Před 3 lety

    Ótima explicação, só que diferente disso eu uso o Connection.state que faz os devidos retornos de acordo com o a resposta.

  • @laelluo2976
    @laelluo2976 Před 5 lety +1

    感谢字幕制作人员

  • @TukuStore
    @TukuStore Před 6 měsíci

    Oke thank you

  • @Soultoo
    @Soultoo Před 4 lety

    Is the syntax for the second argument for the delayed method wrong? I can't find it anywhere 5:00

  • @happyday.mjohnson
    @happyday.mjohnson Před 5 lety

    Easy to follow explanation. Why wasn't async/await included? I am unclear after watching this video when/whether to use then vs. await....?

    • @andrewbrogdon558
      @andrewbrogdon558 Před 5 lety

      Async/await are covered in the fourth video in this series. It's currently in post-production, but should be released in a week or two!

  • @sithumdilanga650
    @sithumdilanga650 Před 3 lety

    Gift boxes are awesome

  • @VladimirMinkin
    @VladimirMinkin Před 5 lety

    The Event Loop described badly, please clarify how it works. If it works like V8 then please add stack call, queue, and tell about external threads for API.

  • @hiruthicsha
    @hiruthicsha Před 3 lety +1

    This channel could potentially make non coders jump in directly as a mobile application devs❤️❤️.
    Uhh sorry cross platform 😁

  • @harry356
    @harry356 Před 2 lety

    If I read something from disk, is that handled by a different thread?

  • @ranjanpanda2586
    @ranjanpanda2586 Před 3 lety

    Can anyone tell me what is the datatype of myFuture at 3:27. final means it can't be changed, but what is the datatype of myFuture ??

  • @hamza-325
    @hamza-325 Před 3 lety

    What's the difference between catchError and onError callbacks? both are triggered in case of errors, so why are there two of them?

  • @pepepriest5973
    @pepepriest5973 Před 5 lety

    Is this like android handler? Well, handler begins when the app starts and not delayed the first time if its a loop

  • @hsin9659
    @hsin9659 Před 5 lety

    nice

  • @whoeverofhowevermany
    @whoeverofhowevermany Před rokem +1

    2:41 I know what you said, but ouch 😂

  • @aslamtarakwadiya5012
    @aslamtarakwadiya5012 Před rokem

    Hello, I'm beginner in Flutter.
    I want call multiple APIs in single screen with Future Builder, So how can I do this.

  • @CoderSprint
    @CoderSprint Před 5 lety

    Can anybody tell me exactly what coding color theme that was?????????????????????????????????????????

  • @suranjithnishalaka7395

    🎉

  • @unity3dTutorials1
    @unity3dTutorials1 Před 5 lety

    Can you make some tutorials which handle Share Extension in iOS? Currently, I want to share some files with my application via Share Extension, but I do not know how to pass data from Share Extension to my app.

    • @andrewbrogdon558
      @andrewbrogdon558 Před 5 lety

      Looks like some folks are working on it: github.com/flutter/flutter/issues/16712

  • @prafulgupta7004
    @prafulgupta7004 Před 5 lety +2

    Make a video on HOW TO MANAGE STATE???

  • @BetoMan996
    @BetoMan996 Před 5 lety +7

    The async/await feature has been copied from C# and it's so powerful!

    • @jajasaria
      @jajasaria Před 5 lety +1

      I thought it's from JS. Thanks for the info.

    • @andrewbrogdon558
      @andrewbrogdon558 Před 5 lety +2

      Yep. The concepts behind async/await have been around for a long time, but C# is generally credited with introducing those particular keywords and the way they work. I was a professional C# coder at the time, so I've been able to write with them for a while!

  • @sodiboo
    @sodiboo Před 4 lety

    is there a dart equivalent to the javascript "resolve" and "reject" methods passed to a promise handler?
    function getUserInput() {
    return new Promise(resolve => {
    setInputEventHandler(data => {
    resolve(data);
    });
    });
    }
    Because futures in dart seem to just be based on synchronous code that returns a value... but that doesn't really make sense?

    • @sodiboo
      @sodiboo Před 3 lety

      I’ve figured it out! A Completer from the dart:async is *exactly* what i want, imo the usage isn’t the most intuitive at first, BUT IT’S THE EXACT THING I WANT! api.dart.dev/stable/1.21.1/dart-async/Completer-class.html

  • @ouya6967
    @ouya6967 Před 4 lety +2

    I think catchError and whenComplete are strange. just catch and finally are simple!

    • @saadzahem
      @saadzahem Před 3 lety +1

      but catch and finally are keywords !

  • @XiaosChannel
    @XiaosChannel Před 4 lety +1

    After watching this video, I learned that there's an alternative way to pronounce json.

  • @SivaKumarNitesh
    @SivaKumarNitesh Před 2 lety

    How's the future status named "uncompleted"?

  • @shahidwani6445
    @shahidwani6445 Před 4 lety

    Does Future create new thread

  • @GCoda
    @GCoda Před 5 lety

    And scopes and closures work like in javascript?
    String url = '';
    http.get(url).then((resp) {print(resp); print(url)} )

    • @andrewbrogdon558
      @andrewbrogdon558 Před 5 lety

      I'm not a JS expert by any means, but you can definitely close over a variable like that when creating a callback for a Future in Dart.

  • @rongsenng
    @rongsenng Před 5 lety +2

    But seriously though, why we don't have Promise.delayed in JavaScript.

    • @venil82
      @venil82 Před 4 lety

      Because you can implement it yourself wit setTimeout

  • @faisalmushtaq2287
    @faisalmushtaq2287 Před 3 lety

    I am getting "Flutter intent redirection " issue as i upload the app on playstore, and they have given me until 21st December 2020 to clear this issue. if not they'll remove my app
    Please help me

  • @patricksteffanic5491
    @patricksteffanic5491 Před 2 lety

    What is the name of the host? I want to follow him on Twitter!

  • @simohimo6963
    @simohimo6963 Před 2 lety

    Future: schrodingers giftbox

  • @juliencasta1968
    @juliencasta1968 Před 2 lety

    bel homme

  • @AnuragSinha7
    @AnuragSinha7 Před 5 lety

    Google announced big plans for Dart and was about to replace JS with it but couldn't do it. They dumped it in midway despite being superior than JS. Why they are sticking with Dart now!?

  • @CrnaInBela
    @CrnaInBela Před 4 lety

    Am I the only one who thought the gift example was funny AF?

  •  Před 4 lety

    this thing kinda sucks lol. i'm trying to filter a stream from firestore by userID (i have objects that saved wich user created them)
    been trying for hours, still nothing
    my latest attempt
    child: StreamBuilder( stream: Firestore.instance.collection('properties').where('uid', isEqualTo: getUserId()).snapshots(), ......
    getUserId() async {
    String userId;
    await _authService.getUserId().then((value) => userId = value);
    return userId;
    }
    does not work

  • @gilbertoduran680
    @gilbertoduran680 Před 5 lety

    Where is Emily Fortuna??? :(

    • @andrewbrogdon558
      @andrewbrogdon558 Před 5 lety +2

      She runs our whole channel now, so her influence is everywhere. :)

  • @maxreuv
    @maxreuv Před 5 lety

    How to cancel (interrupt, etc) an uncompleted future?

  • @JeVaughnFerguson
    @JeVaughnFerguson Před 5 lety

    Release videos faster!;

  • @WorstDeveloper
    @WorstDeveloper Před 4 lety

    Why not just name them: then, catch, finally?

  • @MrVitalirapalis
    @MrVitalirapalis Před 4 lety

    future dart is a promise in js world

  • @thaddeusokafor2953
    @thaddeusokafor2953 Před 5 lety

    0 likes? Am I on CZcams?

  • @versatilecontent4244
    @versatilecontent4244 Před 5 lety

    I dropped mobile development...
    I think PWA will terminate mobile development.... it gives you notifications, hardware controller and operates offline... you build it once and it will work all over ...
    if you don't think so , please tell us why?

    • @AnuragSinha7
      @AnuragSinha7 Před 5 lety

      PWA can't really replace native apps. Native apps give you a superior experience while PWA is getting better and better but it can't replace native apps. Also all of the apps can't be PWA. However I would love it if native apps can be made irrelevant, windows would be back as mobile OS but this time as WCOS.

    • @Alejandro-gg7oz
      @Alejandro-gg7oz Před 5 lety

      what is PWA? its like build apps using html and css? cuz i hate css also css and flexbox is harder than flutter web

  • @Limbustwo
    @Limbustwo Před 3 lety

    I think Future API lacks readability.