mod: 请求节流
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:easy_debounce/easy_throttle.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@ -36,10 +37,10 @@ class _BangumiPageState extends State<BangumiPage>
|
|||||||
() async {
|
() async {
|
||||||
if (scrollController.position.pixels >=
|
if (scrollController.position.pixels >=
|
||||||
scrollController.position.maxScrollExtent - 200) {
|
scrollController.position.maxScrollExtent - 200) {
|
||||||
if (!_bangumidController.isLoadingMore) {
|
EasyThrottle.throttle('my-throttler', const Duration(seconds: 1), () {
|
||||||
_bangumidController.isLoadingMore = true;
|
_bangumidController.isLoadingMore = true;
|
||||||
await _bangumidController.onLoad();
|
_bangumidController.onLoad();
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
final ScrollDirection direction =
|
final ScrollDirection direction =
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:easy_debounce/easy_throttle.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@ -35,10 +36,10 @@ class _LivePageState extends State<LivePage> {
|
|||||||
() {
|
() {
|
||||||
if (scrollController.position.pixels >=
|
if (scrollController.position.pixels >=
|
||||||
scrollController.position.maxScrollExtent - 200) {
|
scrollController.position.maxScrollExtent - 200) {
|
||||||
if (!_liveController.isLoadingMore) {
|
EasyThrottle.throttle('my-throttler', const Duration(seconds: 1), () {
|
||||||
_liveController.isLoadingMore = true;
|
_liveController.isLoadingMore = true;
|
||||||
_liveController.onLoad();
|
_liveController.onLoad();
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
final ScrollDirection direction =
|
final ScrollDirection direction =
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:easy_debounce/easy_throttle.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@ -40,12 +41,10 @@ class _RcmdPageState extends State<RcmdPage>
|
|||||||
() {
|
() {
|
||||||
if (scrollController.position.pixels >=
|
if (scrollController.position.pixels >=
|
||||||
scrollController.position.maxScrollExtent - 200) {
|
scrollController.position.maxScrollExtent - 200) {
|
||||||
if (!_rcmdController.isLoadingMore) {
|
EasyThrottle.throttle('my-throttler', const Duration(seconds: 1), () {
|
||||||
_rcmdController.isLoadingMore = true;
|
_rcmdController.isLoadingMore = true;
|
||||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
_rcmdController.onLoad();
|
||||||
_rcmdController.onLoad();
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final ScrollDirection direction =
|
final ScrollDirection direction =
|
||||||
|
@ -37,6 +37,9 @@ class VideoReplyController extends GetxController {
|
|||||||
if (type == 'init') {
|
if (type == 'init') {
|
||||||
currentPage = 0;
|
currentPage = 0;
|
||||||
}
|
}
|
||||||
|
if (noMore.value == '没有更多了') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
var res = await ReplyHttp.replyList(
|
var res = await ReplyHttp.replyList(
|
||||||
oid: aid!,
|
oid: aid!,
|
||||||
pageNum: currentPage + 1,
|
pageNum: currentPage + 1,
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:easy_debounce/easy_throttle.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@ -65,9 +66,9 @@ class _VideoReplyPanelState extends State<VideoReplyPanel>
|
|||||||
if (_videoReplyController.scrollController.position.pixels >=
|
if (_videoReplyController.scrollController.position.pixels >=
|
||||||
_videoReplyController.scrollController.position.maxScrollExtent -
|
_videoReplyController.scrollController.position.maxScrollExtent -
|
||||||
300) {
|
300) {
|
||||||
if (!_videoReplyController.isLoadingMore) {
|
EasyThrottle.throttle('replylist', const Duration(seconds: 2), () {
|
||||||
_videoReplyController.onLoad();
|
_videoReplyController.onLoad();
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
final ScrollDirection direction =
|
final ScrollDirection direction =
|
||||||
|
@ -337,6 +337,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.6.6"
|
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:
|
extended_image:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -113,6 +113,8 @@ dependencies:
|
|||||||
package_info_plus: ^4.1.0
|
package_info_plus: ^4.1.0
|
||||||
url_launcher: ^6.1.12
|
url_launcher: ^6.1.12
|
||||||
flutter_svg: ^2.0.7
|
flutter_svg: ^2.0.7
|
||||||
|
# 防抖节流
|
||||||
|
easy_debounce: ^2.0.3
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
Reference in New Issue
Block a user