Dart 如何编写一个简单的http截获?

Dart 如何编写一个简单的http截获?,dart,angular-dart,Dart,Angular Dart,有人能解释一下下面的错误吗 void main(){ var intercept=新的HttpInterceptor(); intercept.response=(HttpResponse response)=>print('wehaveresponse'); 注入器注入器=ngBootstrap(模块:new MyModule()); var拦截器=injector.get(HttpInterceptors); 拦截器。添加(拦截器); } 提前谢谢 编辑: 下面是如何执行http请求(从指

有人能解释一下下面的错误吗

void main(){
var intercept=新的HttpInterceptor();
intercept.response=(HttpResponse response)=>print('wehaveresponse');
注入器注入器=ngBootstrap(模块:new MyModule());
var拦截器=injector.get(HttpInterceptors);
拦截器。添加(拦截器);
}
提前谢谢

编辑:

下面是如何执行http请求(从指令内部):

@NgDirective(
选择器:'.my selector')
类MyDirective实现Ngatachaware{
@NgOneWay('id'))
字符串id;
元素自身;
MyDirective(元素el){
self=el;
}
无效附加(){
最后一个字符串http://www.some-site.com/';
HttpRequest req=新的HttpRequest();
请求打开('GET',_urlBase+id);
req.overrideMimeType('text\/plain;charset=x-user-defined');
请求onLoadEnd.listen((e){
如果(请求状态==200){
//做些有用的事
}否则{
打印(“下载失败”);
}
});
请求发送();
}
}

请求成功返回,但拦截器从未触发。为什么?

您必须使用AngularDart内置服务“Http”,而不是dart:html HttpRequest类。 HttpInterceptor仅在使用封装HttpRequest类的服务时工作

换句话说,在指令的构造函数中注入Http:

MyDirective(元素el,Http){
self=el;
这是http=http;
}

如果您看到错误消息或不希望看到的行为,您是否可以更具体一点?它不会被调用您的代码看起来正常。您可以分享一下您是如何调用Http的吗?经过进一步测试,似乎任何类型的拦截器(即请求或响应)都需要返回“HttpResponseConfig”对象或“HttpResponse对象”,即GOOD intercept.response=(HttpResponse响应){print('responding…');return response;};“错误的intercept.response=(HttpResponse response)=>print('responding');