gpt4 book ai didi

javascript - 使用 Bacon.js 进行随机数流

转载 作者:行者123 更新时间:2023-12-03 11:18:29 31 4
gpt4 key购买 nike

我正在尝试深入研究响应式编程。因此,我决定使用 Bacon javascript 库创建一个使用 RSA 加密的简单聊天。

我的问题:使用 Bacon 创建随机数流的最佳方法是什么?之后我想将随机数流过滤为随机素数流。最好的方法是什么?

最佳答案

我不确定 Bacon 流是否适合用于此目的,但您可以按照以下方法进行操作。

function makeRandomNumber() {
return Math.random();
}

function makeRandomStream() {
return Bacon.fromBinder(function(sink) {
while(sink(makeRandomNumber()) === Bacon.more) {}
return function() {};
});
}

// example of using the random stream
makeRandomStream().filter(function(x) {
return x > 0.5;
}).take(5).onValue(function(x) {
console.log('random number', x);
});

请注意,makeRandomStream() 每次都会返回一个新的 Bacon 流。您很可能不想将多个订阅者附加到同一个随机数流,否则您将在多个位置重复使用相同的随机数。还要确保您始终同步取消订阅随机数流;不要先尝试将其与另一个流组合,否则随机数流将阻止其余代码运行,因为它会生成无限的随机数。

并且您需要使用 window.crypto.getRandomValues 而不是 Math.random 进行加密用途。

关于javascript - 使用 Bacon.js 进行随机数流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27226449/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com