Dart 错误状态:StreamSink已关闭
我是Dart新手,尝试编写一些测试web服务器。Dart 错误状态:StreamSink已关闭,dart,Dart,我是Dart新手,尝试编写一些测试web服务器。 这里没有任何问题,只是查看了文档,结果是一样的。 如果有人知道如何解决这个问题,我将非常感谢 主要 测试模块 import 'dart:io'; Future<void> testHandler(HttpRequest req) async { await req.response ..write("hello") ..close(); } 尝试加载页面时。我无法重现您的问题,但以下代码有问题: await req.
这里没有任何问题,只是查看了文档,结果是一样的。
如果有人知道如何解决这个问题,我将非常感谢 主要 测试模块
import 'dart:io';
Future<void> testHandler(HttpRequest req) async {
await req.response
..write("hello")
..close();
}
尝试加载页面时。我无法重现您的问题,但以下代码有问题:
await req.response
..write("hello")
..close();
这不会等待从close()
返回的Future
,而是尝试等待req.response
,它不是Future
因此,您需要的是以下内容:
Future<void> testHandler(HttpRequest req) async {
await (req.response
..write("hello"))
.close();
}
由于我们返回一个Future
(因为out方法是async
),我们可以从close()
返回Future
但由于我无法重现你的问题,我不知道这是否能解决你的问题。但是,通过我的更改,代码将更加正确。:) 我无法重现您的问题,但以下代码存在问题:
await req.response
..write("hello")
..close();
这不会等待从close()
返回的Future
,而是尝试等待req.response
,它不是Future
因此,您需要的是以下内容:
Future<void> testHandler(HttpRequest req) async {
await (req.response
..write("hello"))
.close();
}
由于我们返回一个Future
(因为out方法是async
),我们可以从close()
返回Future
但由于我无法重现你的问题,我不知道这是否能解决你的问题。但是,通过我的更改,代码将更加正确。:) 你能添加完整的例外吗?我认为你删去了错误的第一行,这应该可以解释问题。它实际上在标题中,但经过编辑,所以不会引起混淆。你能添加完整的例外吗?我想你删掉了错误的第一行,这应该可以解释问题。它实际上在标题中,但经过编辑,所以不会引起混淆。谢谢,但没有解决我的问题。啊,这是我的错误,我找到了关闭响应流的地方,无论如何,谢谢:)谢谢,但没有解决我的问题。啊,这是我的错误,我找到了关闭响应流的地方,无论如何,谢谢:)
Future<void> testHandler(HttpRequest req) async {
final response = req.response;
response.write("hello");
await response.flush();
return response.close();
}