Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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 RxJS flatMapLatest不是一个函数_Javascript_Rxjs - Fatal编程技术网

Javascript RxJS flatMapLatest不是一个函数

Javascript RxJS flatMapLatest不是一个函数,javascript,rxjs,Javascript,Rxjs,使用RxJs我试图复制一个演示。但我没有得到任何结果。相反,将错误获取为:distinct.flatMapLatest不是函数 我在这里怎么了?我是否需要在此处添加任何库 这是我的尝试:但看看演示,了解真正的问题是什么 $(document).ready(function(){ var $input = $('#input'), $results = $('#results'); var keyups = Rx.Observable.fromEvent($input, 'keyup'

使用
RxJs
我试图复制一个演示。但我没有得到任何结果。相反,将错误获取为:
distinct.flatMapLatest不是函数

我在这里怎么了?我是否需要在此处添加任何

这是我的尝试:但看看演示,了解真正的问题是什么

$(document).ready(function(){

var $input = $('#input'),
    $results = $('#results');

var keyups = Rx.Observable.fromEvent($input, 'keyup')
    .map(e => e.target.value)
    .filter(text => text.length > 2);

var throttled = keyups.throttle(500);

var distinct = throttled.distinctUntilChanged();

function searchWikipedia (term) {
    return $.ajax({
        url: 'http://en.wikipedia.org/w/api.php',
        dataType: 'jsonp',
        data: {
            action: 'opensearch',
            format: 'json',
            search: term
        } 
    }).promise();

}


var suggestions = distinct.flatMapLatest(searchWikipedia);

suggestions.subscribe(data => {
    var res = data[1];
    /* Do something with the data like binding */
    $results.empty();

    $.each(res, (_, value) => $('<li>' + value + '</li>').appendTo($results));
}, error => {
    /* handle any errors */
    $results.empty();

    $('<li>Error: ' + error + '</li>').appendTo($results);

});

})
$(文档).ready(函数(){
变量$input=$(“#input”),
$results=$(“#results”);
var keyups=Rx.Observable.fromEvent($input,'keyup'))
.map(e=>e.target.value)
.filter(text=>text.length>2);
var节流=键控。节流(500);
var distinct=throttled.distinctUntilChanged();
功能搜索维基百科(术语){
返回$.ajax({
网址:'http://en.wikipedia.org/w/api.php',
数据类型:“jsonp”,
数据:{
操作:“opensearch”,
格式:“json”,
搜索:术语
} 
}).promise();
}
var建议=distinct.flatMapLatest(searchWikipedia);
建议。订阅(数据=>{
var res=数据[1];
/*对数据执行绑定之类的操作*/
$results.empty();
$。每一个(res,(_,value)=>$('
  • '+value+'
  • ')。附加到($results)); },错误=>{ /*处理任何错误*/ $results.empty(); $('
  • 错误:'+Error+'
  • )。附录($results); }); })

    在RxJS 5中,
    flatMapLatest
    已重命名为
    switchMap

    var suggestions = distinct.switchMap(searchWikipedia);
    

    谢谢如果您不介意,如果您知道一个实用的教程示例,可以使用
    rxjs
    处理多个
    ajax
    调用?(回电并承诺)@user2024080我不知道你的意思。最好提出一个新问题并提供大量细节。顺便说一下,我建议现在使用rx4。rx5可能有问题。