Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Kefir.js-如何从回调函数流式传输事件?_Javascript_Frp - Fatal编程技术网

Javascript Kefir.js-如何从回调函数流式传输事件?

Javascript Kefir.js-如何从回调函数流式传输事件?,javascript,frp,Javascript,Frp,该库允许您将回调函数绑定到键,如下所示: Mousetrap.bind('space',function',keydown') 在不使用的情况下,将流附加到此文件的最佳方法是什么?我应该使用发射器还是池 我正试图将箭头键连接到这个小提琴中:通常,您可以使用Kefir.fromEvents,但在您的情况下,如果Mousetrap.js不使用on | off方法绑定,您可以只使用Kefir.pool(Kefir.emitter已被弃用)并在Mousetrap回调中触发Kefir。我修改了您的代码,以

该库允许您将回调函数绑定到键,如下所示:

Mousetrap.bind('space',function',keydown')

在不使用的情况下,将流附加到此文件的最佳方法是什么?我应该使用
发射器
还是


我正试图将箭头键连接到这个小提琴中:

通常,您可以使用
Kefir.fromEvents
,但在您的情况下,如果Mousetrap.js不使用
on | off
方法绑定,您可以只使用
Kefir.pool
Kefir.emitter
已被弃用)并在Mousetrap回调中触发Kefir。我修改了您的代码,以演示如何在捕鼠器回调中使用
Kefir.pool

基本上是这样的

var pool = Kefir.pool();
pool.plug(Kefir.constant(1));
pool.map(...).filter(etc)

玩得开心

您可以使用通用包装器

var leftKeys = Kefir.stream(function(emitter){
    Mousetrap.bind('left', function(e) {
        emitter.emit(e);
        console.log(e);
    });
    return function(){
        // unbind
    };
});

这是正确的方法。另外,
emitter.emit
可以作为回调直接传递-
Mousetrap.bind('left',emitter.emit)
,当然,除非您需要该日志。