跟随RxJS的autocomplete example。我怀疑我使用的Observable可能与本例中的Observable不同?
以下是我如何设置它:
@ViewChild('searchInput') input: ElementRef;
...
var keyups = Observable.fromEvent(this.input.nativeElement, 'keyup')
// this returns FromEventObservable instead of Observable which may be the reason?
此时,我可以调用.subscribe并查看事件流程:
keyups.subscribe( e => console.log(e));
然而,这并没有显示任何****:
keyups.map( e => console.log('e ', e) );
我的导入如下:
import { Observable } from 'rxjs/Rx';
但我也尝试过单独进口:
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/map';
import 'rxjs/Rx';
的package.json
"rxjs": "5.0.0-beta.6",
答案 0 :(得分:2)
要让Observable实际执行某些操作,您需要订阅它。
map
但keyups.map(e => console.log('e ', e))
运算符旨在从一个值映射到另一个值。因此,在console.log
之后,您会收到undefined
返回的Observable - 这可能是.do
并且没有意义。尽管如此,如果您只是需要一些像记录一样的副作用,那么你可以更好地使用onActivityResult()