gpt4 book ai didi

dart - Iron Response调用了一个Js Object Impl对象,但是我找不到关于它的类文档

转载 作者:行者123 更新时间:2023-12-03 02:57:11 28 4
gpt4 key购买 nike

我试图解析IronAjax成功处理程序的返回并将响应设置为Map的实例。似乎不是那样。

我的HTML标记是:

<iron-ajax id="myAjaxId" auto
url="http://localhost:12345/test_server/v1/daily"
handle-as="json"
on-response="handleResponse" on-error="handleError"></iron-ajax>

我的Dart代码是:
void handleResponse(CustomEventWrapper cew, IronRequest ir){
print("inside handleResponse");
var data = ir.response; // <-- is type JsObjectImpl
print("data");
print(data);
if (data == null) return;

print ("About to set rows");
List<Map> rows = data.containsKey("data") ? data["data"] : [];

print("Variables are Set locally");

$['myDatagrid'].render();
}

@reflectable
String camelToFormal (String input){
String out;

RegExp regex = new RegExp("([A-Z])");
out = input[0].toUpperCase() + input.substring(1).replaceAllMapped(regex, (Match m) => " ${m[1]}");
return out;
}
@reflectable
void handleError(CustomEventWrapper cew, IronRequest ir){
print("____Error:____");
print(ir.response);
}

我得到的错误是:
type 'JsObjectImpl' is not a subtype of type 'Map' of 'other'.

我不确定我是否需要对它进行转换,即使IronAjax设置的返回类型为json

因此,由于 ir.response将被设置为null,所以我首先检查其是否为null。当前设置的 var data中的 responseHandler行是,但我也尝试执行类似的操作: Map data = new Map.from(ir.response);也失败。

即使据说这是作为JSON处理的,并且正在返回已确认的jslint对象,但似乎存在将其转换为适当的 map 实例的问题。

根据Polymer IronRequest的资料,网址为: https://elements.polymer-project.org/elements/iron-ajax?active=iron-request
它表示responseis *,即已解析的响应主体。我是否对如何正确设置感到误解,还是错过了一些东西?

最佳答案

您可以在属性上尝试使用Object而不是map,然后使用convertToDart。不确定是否会生成Map,但我猜值得尝试。另请参阅Polymer 1.0 - iron-list - selection

关于dart - Iron Response调用了一个Js Object Impl对象,但是我找不到关于它的类文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36184550/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com