Fix setTimeout

This commit is contained in:
2025-01-18 16:24:46 +08:00
parent d9084272e5
commit 1abf9c151e
3 changed files with 22 additions and 4 deletions

View File

@@ -172,6 +172,12 @@ class JsEngine with _JSEngineApi {
{
return ComicSource.find(message["key"])!.isLogged;
}
// temporary solution for [setTimeout] function
// TODO: implement [setTimeout] in quickjs project
case "delay":
{
return Future.delayed(Duration(milliseconds: message["time"]));
}
}
}
return null;

View File

@@ -8,6 +8,7 @@ import 'package:venera/foundation/comic_source/comic_source.dart';
import 'package:venera/foundation/log.dart';
import 'package:venera/network/app_dio.dart';
import 'package:venera/utils/ext.dart';
import 'package:venera/utils/image.dart';
import 'package:venera/utils/io.dart';
import 'package:venera/utils/translations.dart';
@@ -705,10 +706,14 @@ class _CallbackSettingState extends State<_CallbackSetting> {
setState(() {
isLoading = true;
});
await result;
setState(() {
isLoading = false;
});
try {
await result;
}
finally {
setState(() {
isLoading = false;
});
}
}
}