是否可以在 ngrx 上创建非记忆选择器?
我有一个非常小的选择器来检查存储中的值是否大于 Date.now()。
export const selectAuthState = createFeatureSelector<AuthState>('auth');
export const hasTimeout = createSelector(
selectAuthState,
state => state.timeout < Date.now()
);
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,这个选择器没有用,因为除非我更改 的值,否则它不会被重新计算timeout。有没有办法使选择器不被记忆,以便每次访问其值时都会重新计算?
我当前的解决方案是创建一个选择器工厂并每次都使用它,但我认为这不是最好的解决方案:
export const hasTimeoutFactory = () => createSelector(
selectAuthStatusState,
state => state.timeout < Date.now()
);
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是做类似的事情
export const didTimeout = pipe(
select(getTimeout), // using memoized value
map(val => val < Date.now())
);
Run Code Online (Sandbox Code Playgroud)
然后导入这个管道。
我需要获取每个网络接口的 IP 地址。问题是标准的 ruby 方法Socket.ip_address_list只返回给我地址列表,但没有关于哪个接口对应于 IP 地址的信息。
#<Addrinfo: 127.0.0.1>
#<Addrinfo: 192.168.13.175>
#<Addrinfo: 172.17.0.1>
#<Addrinfo: ::1>
#<Addrinfo: fe80::4685:ff:fe0d:c406%wlan0>
Run Code Online (Sandbox Code Playgroud)
我基本上是在寻找 NodeJS 的等价物os.networkInterfaces()[interfaceName]。
如何知道特定网络接口的 IP 地址?
我正在尝试在 Angular Material 日期选择器上实现一个“今天”按钮,但它必须位于内容之后。
阅读API 后,似乎虽然通过添加自定义日期选择器的标题很简单[calendarHeaderComponent]="myComponent",但没有添加或自定义页脚的选项。
我目前正在尝试使其在自定义标题示例之上工作:
https://stackblitz.com/edit/angular-3xdhb1?file=src/app/datepicker-custom-header-example.ts
此外,似乎在这个 issue 中,提出了类似的功能。
为了做一些基准测试,我试图创建一个巨大的数组.代码很简单:
var hugeArray = [];
for (var i = 0; i < 2*1000*1000*100; i ++) {
hugeArray.push(Math.ceil(Math.random()*100))
}
console.log(hugeArray.length);
Run Code Online (Sandbox Code Playgroud)
在我用2亿个元素运行之后,我得到了FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory.有2000万个元素,效果很好,所以我想我需要改变一些设置.
我正在使用带有8 GB RAM的MacOS,如果这有帮助的话.
angular ×2
arrays ×1
html ×1
javascript ×1
linux ×1
macos ×1
ngrx ×1
ngrx-store ×1
node.js ×1
ruby ×1
typescript ×1