ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก

Dart Futures - Flutter in Focus

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 มิ.ย. 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/Flutte...
    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

ความคิดเห็น • 126

  • @amirgamil
    @amirgamil 5 ปีที่แล้ว +66

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

  • @acavals8080
    @acavals8080 2 ปีที่แล้ว +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 5 ปีที่แล้ว +146

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

    • @sauloAndrioli
      @sauloAndrioli 5 ปีที่แล้ว +27

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

    • @johnjamesflashman6856
      @johnjamesflashman6856 5 ปีที่แล้ว +5

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

    • @ChumX100
      @ChumX100 5 ปีที่แล้ว +7

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

    • @sodiboo
      @sodiboo 4 ปีที่แล้ว

      nice

    • @Ahsankhan_yt
      @Ahsankhan_yt 3 ปีที่แล้ว

      Maybe gift box contained Galaxy Note 7

  • @mgorn
    @mgorn 5 ปีที่แล้ว +49

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

    • @amirgamil
      @amirgamil 5 ปีที่แล้ว +11

      And wasn't.

    • @zewafff
      @zewafff 3 ปีที่แล้ว

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

    • @mr.p215
      @mr.p215 3 ปีที่แล้ว

      @@zewafff it also isn't underrated

  • @adamtak3128
    @adamtak3128 5 ปีที่แล้ว +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 5 ปีที่แล้ว +1

      This could be awesome

    • @StingSting844
      @StingSting844 5 ปีที่แล้ว +8

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

    • @leondroidgeeks
      @leondroidgeeks 5 ปีที่แล้ว +3

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

    • @tanmaythakral257
      @tanmaythakral257 5 ปีที่แล้ว +2

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

    • @PankajNikam
      @PankajNikam 5 ปีที่แล้ว +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 👍

  • @sayyidj6406
    @sayyidj6406 2 ปีที่แล้ว +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 :)

  • @pranavbhagwat1734
    @pranavbhagwat1734 2 ปีที่แล้ว +2

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

  • @bikkikumarsha
    @bikkikumarsha 4 ปีที่แล้ว +2

    Clean and crisp slides and diagram.

  • @palakpatel433
    @palakpatel433 3 ปีที่แล้ว +1

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

  • @mesharibuhadi1437
    @mesharibuhadi1437 2 ปีที่แล้ว +1

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

  • @mahmood466
    @mahmood466 2 ปีที่แล้ว +2

    What a great team behind the flutter, love it ❤

  • @jaigohil4963
    @jaigohil4963 5 ปีที่แล้ว +2

    Best way to think about async future api!!!

  • @sepddy
    @sepddy ปีที่แล้ว

    I learned Future so good , thanks

  • @asoyoyukii3902
    @asoyoyukii3902 4 ปีที่แล้ว +3

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

  • @deepak_mishra
    @deepak_mishra 5 ปีที่แล้ว +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.

  • @idiot7leon
    @idiot7leon 4 ปีที่แล้ว +2

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

  • @user-sx4nd8pn2v
    @user-sx4nd8pn2v 5 ปีที่แล้ว +3

    Flutter is Future !

  • @anthropicandroid4494
    @anthropicandroid4494 ปีที่แล้ว

    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

  • @starvingdeveloper2987
    @starvingdeveloper2987 5 ปีที่แล้ว

    Thank you! Very helpful and informative!

  • @jagdishshetty4782
    @jagdishshetty4782 4 ปีที่แล้ว

    Awesome explanation !!!

  • @MrAmG17
    @MrAmG17 5 ปีที่แล้ว

    Love these series !

  • @happyday.mjohnson
    @happyday.mjohnson 5 ปีที่แล้ว

    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 5 ปีที่แล้ว

      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!

  • @abou3542
    @abou3542 5 ปีที่แล้ว

    Thanks for the explanation ! Great job !!!!

  • @sanghvian
    @sanghvian 3 ปีที่แล้ว

    Brilliant video !

  • @rishidiwute3604
    @rishidiwute3604 ปีที่แล้ว

    Loved it !

  • @dicasgames4927
    @dicasgames4927 3 ปีที่แล้ว

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

  • @RajileshPanoli
    @RajileshPanoli 5 ปีที่แล้ว

    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.

  • @neilshih
    @neilshih ปีที่แล้ว +1

    Thank you ^^

    • @flutterdev
      @flutterdev  ปีที่แล้ว

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

  • @ymi_yugy3133
    @ymi_yugy3133 4 ปีที่แล้ว

    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.

  • @RaymondAtivie
    @RaymondAtivie 5 ปีที่แล้ว

    Great explanation thank you

  • @rahem027
    @rahem027 4 ปีที่แล้ว

    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

  • @LethiuxX
    @LethiuxX 4 ปีที่แล้ว +4

    Lol. This series is a safe space.

  • @VladimirMinkin
    @VladimirMinkin 5 ปีที่แล้ว

    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.

  • @turskyi
    @turskyi 2 ปีที่แล้ว +1

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

  • @ehsanhasin8092
    @ehsanhasin8092 ปีที่แล้ว

    great, thank you

  • @sumitrasaksham7715
    @sumitrasaksham7715 4 ปีที่แล้ว

    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?

  • @ranjanpanda2586
    @ranjanpanda2586 3 ปีที่แล้ว

    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 3 ปีที่แล้ว

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

  • @juliencasta1968
    @juliencasta1968 2 ปีที่แล้ว

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

  • @Sam-ch4jh
    @Sam-ch4jh 4 ปีที่แล้ว

    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

  • @classic0ful
    @classic0ful 2 ปีที่แล้ว

    so clear!!!

  • @unity3dTutorials1
    @unity3dTutorials1 5 ปีที่แล้ว

    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 5 ปีที่แล้ว

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

  • @meetamin7343
    @meetamin7343 2 ปีที่แล้ว

    Thanks🙏

  • @harry356
    @harry356 2 ปีที่แล้ว

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

  • @aslamtarakwadiya5012
    @aslamtarakwadiya5012 ปีที่แล้ว

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

  • @sithumdilanga650
    @sithumdilanga650 3 ปีที่แล้ว

    Gift boxes are awesome

  • @billy-ps7jz
    @billy-ps7jz 5 ปีที่แล้ว

    hardest part to understand and grasp

  • @Soultoo
    @Soultoo 4 ปีที่แล้ว

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

  • @pepepriest5973
    @pepepriest5973 5 ปีที่แล้ว

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

  • @heshansandeepa9471
    @heshansandeepa9471 2 ปีที่แล้ว +1

    very nice

  • @whoeverofhowevermany
    @whoeverofhowevermany ปีที่แล้ว +1

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

  • @a6Brgeuka
    @a6Brgeuka 5 ปีที่แล้ว

    Great! Thank you!

  • @hiruthicsha
    @hiruthicsha 3 ปีที่แล้ว +1

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

  • @sodiboo
    @sodiboo 4 ปีที่แล้ว

    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 4 ปีที่แล้ว

      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

  • @TukuStore
    @TukuStore 6 หลายเดือนก่อน

    Oke thank you

  • @BetoMan996
    @BetoMan996 5 ปีที่แล้ว +7

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

    • @jajasaria
      @jajasaria 5 ปีที่แล้ว +1

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

    • @andrewbrogdon558
      @andrewbrogdon558 5 ปีที่แล้ว +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!

  • @CoderSprint
    @CoderSprint 5 ปีที่แล้ว

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

  • @prafulgupta7004
    @prafulgupta7004 5 ปีที่แล้ว +2

    Make a video on HOW TO MANAGE STATE???

    • @vasiapatov4544
      @vasiapatov4544 4 ปีที่แล้ว

      th-cam.com/video/d_m5csmrf7I/w-d-xo.html

  • @ouya6967
    @ouya6967 4 ปีที่แล้ว +2

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

    • @saadzahem
      @saadzahem 3 ปีที่แล้ว +1

      but catch and finally are keywords !

  • @n00bstude
    @n00bstude 5 ปีที่แล้ว

    well done.

  • @GCoda
    @GCoda 5 ปีที่แล้ว

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

    • @andrewbrogdon558
      @andrewbrogdon558 5 ปีที่แล้ว

      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.

  • @laelluo2976
    @laelluo2976 5 ปีที่แล้ว +1

    感谢字幕制作人员

  • @satishkumar-qq8df
    @satishkumar-qq8df 5 ปีที่แล้ว

    I love flutter

  • @cagrigoktas
    @cagrigoktas 5 ปีที่แล้ว

    Perfect 👍

  • @rongsenng
    @rongsenng 5 ปีที่แล้ว +2

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

    • @venil82
      @venil82 4 ปีที่แล้ว

      Because you can implement it yourself wit setTimeout

  • @muhammadkashif7209
    @muhammadkashif7209 4 ปีที่แล้ว

    i love it

  • @SivaKumarNitesh
    @SivaKumarNitesh 3 ปีที่แล้ว

    How's the future status named "uncompleted"?

  • @faisalmushtaq2287
    @faisalmushtaq2287 3 ปีที่แล้ว

    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

  • @shahidwani6445
    @shahidwani6445 4 ปีที่แล้ว

    Does Future create new thread

  • @XiaosChannel
    @XiaosChannel 4 ปีที่แล้ว +1

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

    • @jorgeguberte7585
      @jorgeguberte7585 4 ปีที่แล้ว +1

      i pronounce it like the name Jason

  • @hsin9659
    @hsin9659 5 ปีที่แล้ว

    nice

  • @suranjithnishalaka7395
    @suranjithnishalaka7395 ปีที่แล้ว

    🎉

  • @AnuragSinha7
    @AnuragSinha7 5 ปีที่แล้ว

    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!?

  •  4 ปีที่แล้ว

    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

  • @patricksteffanic5491
    @patricksteffanic5491 2 ปีที่แล้ว

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

  • @simohimo6963
    @simohimo6963 2 ปีที่แล้ว

    Future: schrodingers giftbox

  • @maxreuv
    @maxreuv 5 ปีที่แล้ว

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

  • @gilbertoduran680
    @gilbertoduran680 5 ปีที่แล้ว

    Where is Emily Fortuna??? :(

    • @andrewbrogdon558
      @andrewbrogdon558 5 ปีที่แล้ว +2

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

  • @CrnaInBela
    @CrnaInBela 5 ปีที่แล้ว

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

  • @juliencasta1968
    @juliencasta1968 2 ปีที่แล้ว

    bel homme

  • @versatilecontent4244
    @versatilecontent4244 5 ปีที่แล้ว

    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 5 ปีที่แล้ว

      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 5 ปีที่แล้ว

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

  • @MrVitalirapalis
    @MrVitalirapalis 4 ปีที่แล้ว

    future dart is a promise in js world

  • @WorstDeveloper
    @WorstDeveloper 4 ปีที่แล้ว

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

  • @JeVaughnFerguson
    @JeVaughnFerguson 5 ปีที่แล้ว

    Release videos faster!;

  • @Limbustwo
    @Limbustwo 3 ปีที่แล้ว

    I think Future API lacks readability.

  • @thaddeusokafor2953
    @thaddeusokafor2953 5 ปีที่แล้ว

    0 likes? Am I on TH-cam?