在实际开发中,我们经常需要对操作进行一个延迟效果
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);
}``