mod: 请求节流

This commit is contained in:
guozhigq
2023-08-19 20:37:42 +08:00
parent ec9d9739fe
commit b7eed8578a
7 changed files with 27 additions and 12 deletions

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:get/get.dart';
@ -36,10 +37,10 @@ class _BangumiPageState extends State<BangumiPage>
() async {
if (scrollController.position.pixels >=
scrollController.position.maxScrollExtent - 200) {
if (!_bangumidController.isLoadingMore) {
EasyThrottle.throttle('my-throttler', const Duration(seconds: 1), () {
_bangumidController.isLoadingMore = true;
await _bangumidController.onLoad();
}
_bangumidController.onLoad();
});
}
final ScrollDirection direction =

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:get/get.dart';
@ -35,10 +36,10 @@ class _LivePageState extends State<LivePage> {
() {
if (scrollController.position.pixels >=
scrollController.position.maxScrollExtent - 200) {
if (!_liveController.isLoadingMore) {
EasyThrottle.throttle('my-throttler', const Duration(seconds: 1), () {
_liveController.isLoadingMore = true;
_liveController.onLoad();
}
});
}
final ScrollDirection direction =

View File

@ -1,6 +1,7 @@
import 'dart:async';
import 'dart:io';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:get/get.dart';
@ -40,12 +41,10 @@ class _RcmdPageState extends State<RcmdPage>
() {
if (scrollController.position.pixels >=
scrollController.position.maxScrollExtent - 200) {
if (!_rcmdController.isLoadingMore) {
EasyThrottle.throttle('my-throttler', const Duration(seconds: 1), () {
_rcmdController.isLoadingMore = true;
WidgetsBinding.instance.addPostFrameCallback((_) async {
_rcmdController.onLoad();
});
}
_rcmdController.onLoad();
});
}
final ScrollDirection direction =

View File

@ -37,6 +37,9 @@ class VideoReplyController extends GetxController {
if (type == 'init') {
currentPage = 0;
}
if (noMore.value == '没有更多了') {
return;
}
var res = await ReplyHttp.replyList(
oid: aid!,
pageNum: currentPage + 1,

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:get/get.dart';
@ -65,9 +66,9 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
if (_videoReplyController.scrollController.position.pixels >=
_videoReplyController.scrollController.position.maxScrollExtent -
300) {
if (!_videoReplyController.isLoadingMore) {
EasyThrottle.throttle('replylist', const Duration(seconds: 2), () {
_videoReplyController.onLoad();
}
});
}
final ScrollDirection direction =

View File

@ -337,6 +337,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.6.6"
easy_debounce:
dependency: "direct main"
description:
name: easy_debounce
sha256: f082609cfb8f37defb9e37fc28bc978c6712dedf08d4c5a26f820fa10165a236
url: "https://pub.dev"
source: hosted
version: "2.0.3"
extended_image:
dependency: "direct main"
description:

View File

@ -113,6 +113,8 @@ dependencies:
package_info_plus: ^4.1.0
url_launcher: ^6.1.12
flutter_svg: ^2.0.7
# 防抖节流
easy_debounce: ^2.0.3
dev_dependencies:
flutter_test: