Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 1.22 KB

事件循环.md

File metadata and controls

58 lines (41 loc) · 1.22 KB

main -> microtask -> event
image

深入了解Flutter的isolate(1) ---- 事件循环(event loop)及代码运行顺序

...
  @override
  void initState() {
    super.initState();
    testScheduleMicrotatsk();
  }
  

  void testScheduleMicrotatsk() {
    scheduleMicrotask(() => print('Mission_1'));

//注释1
    Future.delayed(Duration(seconds: 1), () => print('Mission_2'));

//注释2
    Future(() => print('Mission_3')).then((_) {
      print('Mission_4');
      scheduleMicrotask(() => print('Mission_5'));
    }).then((_) => print('Mission_6'));

//注释3
    Future(() => print('Mission_7')).then((_) => Future(() => print('Mission_8'))).then((_) => print('Mission_9'));

//注释4
    Future(() => print('Mission_10'));

    scheduleMicrotask(() => print('Mission_11'));

    print('Mission_12');
  }
  

flutter: Mission_12
flutter: Mission_1
flutter: Mission_11
flutter: Mission_3
flutter: Mission_4
flutter: Mission_6
flutter: Mission_5
flutter: Mission_7
flutter: Mission_10
flutter: Mission_8
flutter: Mission_9
flutter: Mission_2