美文网首页
Dart 异步处理之Future

Dart 异步处理之Future

作者: 小鱼宠ZZ | 来源:发表于2020-02-14 15:01 被阅读0次
    Dart的事件循环遵循以下规则:
    • 先处理所有微任务队列的微任务
    • 再处理事件队列里事件
    dart-微任务.png
    Future Api
    //同步操作
    await Future.sync(() {
            Timer(Duration(seconds: 3), () {
                print('sync delay 3');
            });
    });
    
    //等同 Future.sync(() => [])
    await Future.value([
            await Future.delayed(Duration(seconds: 1), () {
                print('delay 1...');
            })
    ]);
    
    //微任务,间接调用scheduleMicrotask
    await Future.microtask(() {});
    
    //等同于 Timer.run(() {});
    await Future(() {});
    
    //返回的最先返回的Future,其他丢弃
    await Future.any([]);
    
    //微任务
    scheduleMicrotask(() {});
    
    Timer Api
    //等同于 new Timer(Duration.zero, (){})
    Timer.run(() {});
    
    //打卡器 - 每隔1秒执行次
    Timer.periodic(Duration(seconds:1), (timer) {});
    
    //倒计时
    Timer(Duration(seconds: 3), () {});
    

    相关文章

      网友评论

          本文标题:Dart 异步处理之Future

          本文链接:https://www.haomeiwen.com/subject/tdodfhtx.html