2017-12-08 24 views
0

私はObservableを作成して、0.75秒後に解決したいと考えています。私はこのようにそうしようとしたが、観察可能がすぐに解決されています0.75秒後に解決するRxJS Observableを作成するにはどうすればよいですか?

import { Observable } from 'rxjs/Observable'; 
import { delay } from 'rxjs/operators/delay'; 
... 
refresh(): Observable<any> { 
    // Return an observable that resolves after .75 seconds 
    return Observable.create().pipe(delay(750)); 
} 

あなたはタイマーを元にしたい場合は、私はあなたがしてrxjsバージョン5.5.2とtypescriptバージョン2.4.2

答えて

1

を使用していますここで

console.log('start'); 
 
Rx.Observable.timer(750) 
 
    .subscribe(
 
    x => console.log('next:', x), 
 
    null, 
 
    () => console.log('complete') 
 
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.5.2/Rx.min.js"></script>

は、doc、次のとおりです。次のことを行うことができますs:http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#static-method-timer

実際に何かをcreateメソッドbtwに渡す必要があります。 I

console.log('start'); 
 
Rx.Observable.create(o => { o.next('test'); o.complete(); }) 
 
    .delay(750) 
 
    .subscribe(
 
    x => console.log('next:', x), 
 
    null, 
 
    () => console.log('complete') 
 
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.5.2/Rx.min.js"></script>

申し訳ありません:あなたは、あなたがこのような何かを行うことができ、いくつかの観測可能を返す延期したい場合Cannot read property 'subscribe' of undefined

:そうしない場合、私はそれが次のエラーをスローだと思いますエディタで作業するためのインポートを取得できなかったため、古いスタイルの構文が使用されていました。

+0

'Observable.create(o => {o.next(); o.complete();})パイプ(遅延(750));'私のために働いた – wubbalubba

関連する問題