2013-02-26 68 views
1

随着新镖发布:IO库,以便读取从HttpRequest数据,我们现在需要:有没有更好的方式来处理Dart中的HttpRequest正文内容?

收听机构,处理数据和它的完成通知。

为了做到这一点,我一直在使用类似下面的东西来获取所有数据从请求被(从镖采取:IO测试):

List<int> body = new List<int>(); 
request.listen(body.addAll, onDone:() { 
    var str = new String.fromCharCodes(body); 
    // Now do something with the string of data 
}); 

有一些使用transform和/或StringDecoders的方式已经提供了构建的结果。我能想到的唯一方法是,我仍然需要创建一个StringBuffer并使用writeAll来确保所有数据在它不是全部到达的情况下传递,并且在使用缓冲区中的字符串之前仍然调用onDone。

所以我最终的问题是:有没有办法可以使用HttpRequest(或在所有实际的任何流),而无需缓冲/建立结果,只需传递一个回调或处理程序接收整个内容?

回答

0

我没有试过,但我认为你应该能够使用StringDecoder,toList()和join()来获得整个身体:

request.transform(new StringDecoder()).toList().then((data) { 
    var body = data.join(''); 
    print(body); 
} 
+0

所以,最后的答案是否定的时刻没有某种类型的建造者,没有办法做到这一点。我同意你的其他评论。应该有一个更简单的方法。我会提出一个错误请求。 – 2013-02-27 13:31:47

相关问题