0

私はたくさんグーグルで検索し、d.tsファイルを見ようとしましたが、何が問題なのかまだ理解できません。この関数の使用方法の RxJs5 の例が見つかりません。

var source = Observable.fromEvent(document.body, 'keypress');

    var delayedSource = source.delay(1000);

    var obs = source



      .buffer(() => {
        return   delayedSource;
      })

      .map((clickBuffer) => {
        return clickBuffer.length;
      });

エラーが発生しています:

エラー:(166, 15) TS2345: タイプ '() => Observable<{}>' の引数は、タイプ 'Observable' のパラメーターに割り当てられません。プロパティ「_isScalar」が型「() => Observable<{}>」にありません。

buffer.d.ts はこのように見えます。これで理解できるはずですが、わかりません。

import { Observable } from '../Observable';
/**
 * Buffers the incoming observable values until the passed `closingNotifier`
 * emits a value, at which point it emits the buffer on the returned observable
 * and starts a new buffer internally, awaiting the next time `closingNotifier`
 * emits.
 *
 * <img src="./img/buffer.png" width="100%">
 *
 * @param {Observable<any>} closingNotifier an Observable that signals the
 * buffer to be emitted} from the returned observable.
 * @returns {Observable<T[]>} an Observable of buffers, which are arrays of
 * values.
 */
export declare function buffer<T>(closingNotifier: Observable<any>): Observable<T[]>;
export interface BufferSignature<T> {
    (closingNotifier: Observable<any>): Observable<T[]>;
}

この質問はこれから: 角度 2 Rxjs を使用して 1 秒あたりのキープレス数をカウントする

4

1 に答える 1

0

Benjamin Gruenbaum のコメントに基づいて、これで問題が解決します。

var source = Observable.fromEvent(document.body, 'keypress');

var delayedSource = source.delay(1000);

var obs = source

      .buffer(delayedSource)

      .map((clickBuffer) => {
        return clickBuffer.length;
      })
于 2016-04-03T08:22:25.620 に答える