我的Flutter 翼应用程序有这个问题.它似乎无法加载API请求,但当我在浏览器上try 时,它返回了OK"http://vplay.id/api/series/popular".

Debug

exception = {_Exception} Exception: Failed to load
message = "Failed to load"
this = {SeriesProvider} 
 _url = "http://vplay.id/api/"
 _loading = false
 _currentPage = 1
 _pages = 1
 _series = {_GrowableList} size = 0
 _seriesStream = {_AsyncStreamController} 
endpoint = "series/popular"
e = {_TypeError} type 'int' is not a subtype of type 'double'
 _stackTrace = {_StackTrace} 
 _failedAssertion = "is assignable"
 _url = "package:streamapp/src//helpers/parse.dart"
 _line = 31
 _column = 7
 message = "type 'int' is not a subtype of type 'double'"

Series_provider.dart

import 'dart:async';
import 'dart:convert';

import 'package:http/http.dart' as http;
import '../helpers/api.dart';
import '../models/serie_model.dart';
export '../models/serie_model.dart';

class SeriesProvider {
  String _url = Api.url;
  bool _loading = false;
  int _currentPage = 1;
  int _pages = 1;
  List<Serie> _series = List();
  final _seriesStream = StreamController<List<Serie>>();

  Function(List<Serie>) get seriesSink => _seriesStream.sink.add;
  Stream<List<Serie>> get seriesStream => _seriesStream.stream;

  void dispose() {
    _seriesStream?.close();
  }

  Future<List<Serie>> _process(String endpoint) async {
    try {
      final resp = await http.get(_url + endpoint);

      if (resp.statusCode != 200) {
        throw Exception('Failed to load');
      }

      final data = json.decode(resp.body);

      final series = Series.fromJsonList(data);

      return series.items;
    } catch (e) {
      throw Exception('Failed to load');
    }
  }

Helpers/parse.dart

static double checkDouble(dynamic value) {
    if (value is String) {
      return double.parse(value);
    } else {
      return value;
    }
  }
}

这是我第一次使用Ffltter,这很有趣,因为只有我才会面对这个问题(这是我从CodeCanyon Marketplace获得的一个应用程序),而且是全新安装的.

推荐答案

static double checkDouble(dynamic value) {
    if (value is String) {
      return double.parse(value);
    } else {
      return value;
    }
  }
}

这个问题似乎是从过go return value年开始的.你可能需要return value+.0张.

Flutter相关问答推荐

如何增加容器高度?

如何更改默认应用程序启动器/启动屏幕

Firebase Auth异常未被catch捕获

Flutter Go路由深度链接不按预期工作

创建后检索FiRestore文档ID

想更新ListView上的索引点击块Flutter

在Flutter 中将参数从一个类传递到另一个类

DART 3.3:为什么扩展类型不起作用?

如何在默认情况下隐藏appBar并在向下滚动时显示它- Flutter

material 3芯片,不能go 除输入芯片小部件上的轮廓

无效参数(S):隔离消息中的非法参数:try 旋转图像时对象不可发送

如何对齐 AppBar Actions 中的文本?

使用 forLoops 在 Dart 中进行单元测试会返回 stackoverflow

更新番茄计时器值不会触发 Flutter Riverpod 中的alert 声音

Flutter 判断 Uint8List 是否有效 Image

如果不刷新页面,我看不到从 Firestore 中提取的数据

如何格式化网址?

如何验证非表单字段?

函数中的变量在 Dart 中应该有什么关键字?

try 为两个下拉值添加共享首选项,但在 Flutter 上显示错误断言失败:?