我想在npm脚本中引用我的包版本,以便在应用程序中显示当前版本.就像是
{
"name": "bla",
"version": "1.0.0",
"author": "bla bla",
"scripts": {
"build": "node VERSION=<<package.version>> build/build.js"
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我正在尝试为下载文件制作一个进度条指示器,但是如果我向 中添加一个侦听器StreamedResponse,管道会起作用,但不会完成它的未来。
final client = new http.Client();
http.StreamedResponse response = await client.send(http.Request("GET", Uri.parse('someurl')));
var received = 0;
var length = response.contentLength;
//if I remove this listener, the await below gets completed
var listen = response.stream.listen((List<int> bytes) {
received += bytes.length;
print("${(received / length) * 100} %");
});
var sink = downloadFile.openWrite();
await response.stream.pipe(sink);
listen.cancel();
sink.close();
Run Code Online (Sandbox Code Playgroud)
在github 上,他们已经建议某人它应该可以工作,但在StreamedResponse 文档中,它保持不变This should always be a single-subscription stream.。因此,添加一个侦听器来计算百分比似乎会以某种方式产生错误StreamedResponse。关于如何让它发挥作用的任何想法?