flutter 如何实现延迟效果

在实际开发中,我们经常需要对操作进行一个延迟效果

Flutter自带函数

Future.delayed(Duration(milliseconds: 500), () {
});

使用Rxdart

Observable.just(1).delay(new Duration(milliseconds: 500)).listen((_) {
    });

简单封装下Rxdart


import 'dart:async';

import 'package:rxdart/rxdart.dart';

class RxApp {

  //rx延迟处理
  static StreamSubscription delay(int milliseconds,var f)
  {
     return  Observable.just(1).delay(Duration(milliseconds: milliseconds)).listen(f);
  }

  //取消StreamSubscription
  static cancel(StreamSubscription subscription)
  {
    subscription?.cancel();
  }
}

使用:
  subscription= RxApp.delay(1500, (_) {
        Toast.show("下架");
      });
`

取消
 @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
    RxApp.cancel(subscription);
  }``

你可能感兴趣的:(flutter开发)