我Stream处理了几百万个元素.它背后的Map-Reduce算法需要几毫秒,因此任务完成大约需要20分钟.
Stream<MyData> myStream = readData();
MyResult result = myStream
.map(row -> process(row))
.peek(stat -> System.out.println("Hi, I processed another item"))
.reduce(MyStat::aggregate);
Run Code Online (Sandbox Code Playgroud)
我想要一种显示整体进度的方法,而不是每个元素打印一行(这导致每秒数千行,需要时间,并且不提供有关整体进度的任何有用信息).我想展示类似于:
5% (08s)
10% (14s)
15% (20s)
...
Run Code Online (Sandbox Code Playgroud)
最好(和/或最简单)的方法是什么?
我有一个带按钮的webapp.当我单击其中一个按钮*JavaScript magic*时,旁边会出现一个菜单.该脚本对定位或样式一无所知,它只是找到一个目标元素,然后将HTML写入其中.
简而言之,我有一个相对于其父级的菜单(#pretty-target在此示例中).
<div class="container">
<button class="my-pretty-button">@</button>
<div class="menu-target" id="pretty-target"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
结果如下:
现在,当我减小页面高度时,我想限制此菜单的高度,具体取决于它与页面底部的距离.一个比理想的结果看起来像这样:
我知道最好的做法是拥有一个可滚动的页面主体,而不必担心这些元素的高度.但是,我的页面正文是一个地图,因此任何滚动它的尝试都只会移动地图.
我当然可以通过使用可滚动的叠加来制作一些替代的东西,或者更好的是,通过使用媒体查询来选择更好的方法来显示这些菜单.但是,它们不会以这种方式显示.
简单地说:我有一个与页面无关的div,我希望它受页面高度的限制.这怎么可行(不使用JS)?
我已经设置了一个私有 NPM 注册表,托管一个公开可用的包的分支(这是包的许可证允许的)。
源包中有一个由精彩的DefinitelyTyped项目提供的类型声明。
目前,在我的项目中,如果我写:
import mypackage from '@private/mypackage'
Run Code Online (Sandbox Code Playgroud)
DefinelyTyped ( ) 提供的类型@types/mypackage将不适用,我会得到错误:
错误 TS7016:找不到模块“@private/mypackage”的声明文件。“node_modules/@private/mypackage/index.js”隐式具有“any”类型。
在我的项目中,是否可以重新声明 fork 的源包类型,以便上面的示例能够工作?