2017-06-23 5 views
1
let button = document.querySelector('.mbtn'); 
let lab = document.querySelector('.mlab'); 

let clickStream = Observable.fromEvent(button,'click'); 

let doubleClickStream = clickStream 
     .buffer(()=> clickStream.throttle(250)) 
     .map(arr => arr.length) 
     .filter(len => len === 2); 

doubleClickStream.subscribe(event =>{ 
     lab.textContent = 'double click'; 
}); 

    doubleClickStream.throttle(1000) 
     .subscribe(suggestion =>{ 
      lab.textContent = '-'; 
     }); 

を解決するためにangular2の「Rxの観察可能な」を使うが、これは、これはエラーが↓ダブルクリックに

ERROR中にログインしている、私はそれを解決するのに役立つことができる人、私のangular2プロジェクトに 誤りである方法 /Users/genilex3/Desktop/meager/angularRxjs/angularrxjs/src/app/app.component.ts (58,15):型 '()=> anyの引数は、型' Observableのパラメータ に割り当てられません'プロパティ '_isScalar'がタイプ '()=> any'にありません。 /Users/genilex3/Desktop/meager/angularRxjs/angularrxjs/src/app/app.component.ts(58,41)で

ERROR:タイプの引数の数は ' タイプのパラメータに割り当てません'(値:{})=> SubscribableOrPromise'

+0

.buffer(()=> clickStream.throttle(250)).bufferでなければなりません(clickStream.throttle(250)) – ZahiC

+0

せdoubleClickStream =クリックストリーム:ここ

doubleClickStream.debounceTime(1000) .subscribe(suggestion =>{ lab.textContent = '-'; }); 

あなたはdebounceTimeについての詳細を読むことができます \t \t .buffer(clickStream.throttle(250)) \t \t .MAP(ARR => arr.length) \t \t .filter(LEN => LEN === 2)。 /Users/genilex3/Desktop/meager/angularRxjs/angularrxjs/src/app/app.component.ts(58,36): 'number'型の引数を '(value:{})型のパラメータに代入することはできません=> SubscribableOrPromise '。 ERROR in /Users/genilex3/Desktop/meager/angularRxjs/angularrxjs/src/app/app.component.ts(66,33): 'number'型の引数は型 '(value:number)のパラメータに代入できません)=> SubscribableOrPromise '。 – Holmes

+0

これを試してみてください.buffer(clickStream.throttleTime(250)) – ZahiC

答えて

2

ストリームにはbufferTimeを使用する必要があります。

let doubleClickStream = clickStream 
     .bufferTime(250) 
     .map(arr => arr.length) 
     .filter(len => len === 2); 

ここでは多くを読むことができる:

あなたはそれはあなたがdebounceTimeメソッドを使用する必要があります設定した後に1000ミリ秒後に値をクリアしたい場合はhttp://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-bufferTimehttp://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-debounceTime

+0

あなたに感謝...... – Holmes

+0

もしうまくいくなら、あなたはこの答えを受け入れるべきです。@Holmes – Zen

+0

もちろん.......... – Holmes

関連する問題