我试图在showDialog中处理http请求的错误,然后抛出一个错误,但我遇到了这个错误
错误
E/颤振(18769):#13文本输入_HandletExtInput职业包:颤振/../services/text\u输入。飞镖:968 E/颤振(18769):#14通道_handleAsMethodCall包:颤振/../services/platform\u频道。dart:402E/颤振(18769):#15通道。setMethodCallHandler。包装:颤振/../services/平台\通道。飞镖:370E/颤振(18769):#16
\u默认双星信使。handlePlatformMessage包:颤振/../services/binding。飞镖:200 E/颤振(18769):17。(dart:ui/hooks.dart:303:15)E/flatter(18769):#18_rootRun(dart:async/zone.dart:1126:13)E/flatter(18769):#19_CustomZone。运行(dart:async/zone.dart:1023:19)E/flatter(18769):#20_自定义区域。横档(dart:async/zone.dart:925:7)E/flatter(18769):#21#u invoke3(dart:ui/hooks.dart:302:10)E/flatter(18769):#22
u调度平台消息(dart:ui/hooks.dart:162:5)
Future<void> addProduct(Product product) {
const url = 'https://flutter-shop-768a7.firebaseio.com/products.jon';
return http
.post(url,
body: json.encode({
'title': product.title,
'description': product.description,
'imageUrl': product.imageUrl,
'price': product.price,
'isFavorite': product.isFavorite
}))
.then((response) {
final newProduct = Product(
title: product.title,
description: product.description,
imageUrl: product.imageUrl,
price: product.price,
id: json.decode(response.body)['name']);
// _items.insert(index, element)
_items.add(newProduct);
notifyListeners();
}).catchError((error) {
throw error;
});
}
Provider.of<Products>(context, listen: false)
.addProduct(_edditedProduct)
.catchError((error) {
return showDialog(
context: context,
builder: (ctx) => AlertDialog(
title: Text('An Error occurred!'),
content: Text('Someghing went wrong'),
actions: <Widget>[
FlatButton(
child: Text('ok'),
onPressed: () async => Navigator.of(context).pop())
],
),
);
}).then((_) {
print('this is then function');
setState(() {
_isLoading = false;
});
Navigator.pop(context);
});
发生这种情况是因为您没有指定的返回类型。然后((response){})
方法,来解决这个简单的更改
.then((response) {
final newProduct = Product(
title: product.title,
description: product.description,
imageUrl: product.imageUrl,
price: product.price,
id: json.decode(response.body)['name']);
// _items.insert(index, element)
_items.add(newProduct);
notifyListeners();
})
到
.then<void>((response) {
final newProduct = Product(
title: product.title,
description: product.description,
imageUrl: product.imageUrl,
price: product.price,
id: json.decode(response.body)['name']);
// _items.insert(index, element)
_items.add(newProduct);
notifyListeners();
})de here
请像这样在下面加上'Null'。添加问题解决后,我也面临同样的问题。
return showDialog<Null>(
context: context,
builder: (ctx) => AlertDialog(
title: Text('Error occurred!'),
content: Text('Something went wrong...'),
actions: [
FlatButton(
onPressed: () {
Navigator.of(ctx).pop();
},
child: Text('Okay')),
],
),
);
这是因为你的函数类型是Future,你的返回类型必须是Future,但是当你面对一个错误时,你的响应会抛出一个错误并返回Null,所以最好这样写你的异步函数
addProduct(Product product) async {
const url = 'https://flutter-shop-768a7.firebaseio.com/products.json';
await http
.post(url,
body: json.encode({
'title': product.title,
'description': product.description,
'imageUrl': product.imageUrl,
'price': product.price,
'isFavorite': product.isFavorite
}))
.then((response) {
final newProduct = Product(
title: product.title,
description: product.description,
imageUrl: product.imageUrl,
price: product.price,
id: json.decode(response.body)['name']);
// _items.insert(index, element)
_items.add(newProduct);
notifyListeners();
}).catchError((error) {
throw error;
});
}
您的url不正确更改'https://flutter-shop-768a7.firebaseio.com/products.jon“
至”https://flutter-shop-768a7.firebaseio.com/products.json“
在应用程序启动时获取此错误。最初我认为这是一个迁移到Android的问题,做了所有的步骤迁移到androidx支持库,但没有用。 在此处发布了Github问题 无法调试,因为我在主函数第一行的断点命中之前得到了这个错误。 错误 我的扑动医生 主要的飞奔
我试图从一个API获取数据,但我一直得到上面的错误。下面是我的API响应的结构 下面是我如何获取数据的 知道我做错了什么吗?
我是Flutter的新手,试图验证用户,但我面临一个错误,即使在终端中接收到响应状态200,因此我无法导航到授权页面。 请问有人能帮我吗? 登录-屏幕代码: 登录api代码: 类用户信息: 带json的邮递员:我的json 错误:终端错误 非常感谢!!
我对颤振世界还不熟悉,我犯了一个我不能完全理解的错误。 这是我的netwrok处理程序代码 这是我的代码,我调用网络处理器的获取方法 我得到了这个错误 [错误:flatter/lib/ui/ui\u dart\u state.cc(209)]未处理的异常:类型'\u InternalLinkedHashMap 谁能帮帮我吗?
我有以下错误而做ListView.builder,我只是想显示滚动列表视图,所以我从API调用对象, [屏幕截图链接] API调用结果: 这就是我的设计,帮助我解决这个错误也建议我学习颤振中不同的环结构,提前感谢。 错误: 小部件库 ╞═══════════════════════════════════════════════════════════ 引起的异常以下_TypeError被抛出构建
我正在尝试使用Dio客户端进行API调用。当我收到响应时,它会抛出一个错误 “\u InternalLinkedHashMap”不是“String”类型的子类型 试图解决它,但我不能。下面是代码 后Api调用 模型类使用内置值 序列化程序类 帮我怎么解决