这是我的服务
Future ads(token, adsLimit) {
return _netUtil.post(BASE_URL + "/getuserads", body: {"token": token, "quantity": adsLimit}).then(
(dynamic res) {
return res;
});
}
我正试图像这样使用它:
var myToken = prefs.getString('token');
var adsLimit = prefs.getInt('adsLimit') ?? 10;
this.api.ads(myToken, adsLimit).then((res) async {
var ads = res['ads'];
print('New Ads $ads');
// _showBigPictureNotification(ads);
});
即使这样做:
this.api.ads(myToken, 10).then((res) async {
仍然出现相同的错误。解决办法是什么?
Flutter 0.9.3-pre.14 • channel master • https://github.com/flutter/flutter.git
Framework • revision 449e3c2a0a (5 days ago) • 2018-09-20 19:46:50 -0700
Engine • revision a8890fdccd
Tools • Dart 2.1.0-dev.5.0.flutter-46ec629096
答案 0 :(得分:1)
body
可能是Map<String, String>
,因此您需要将int
转换为String
。给您正式的参数类型是个好主意。
Future<void> ads(String token, int adsLimit) {
return _netUtil.post(
BASE_URL + '/getuserads',
body: {
'token': token,
'quantity': '$adsLimit',
},
);
}
如果您想在编译类型时捕获该错误,请为主体映射指定如下类型:
body: <String, String>{
'token': token,
'quantity': adsLimit,
},