Javascript 如何使用angular(2)和rxjs实现顺序ajax

Javascript 如何使用angular(2)和rxjs实现顺序ajax,javascript,ajax,angular,rxjs,observable,Javascript,Ajax,Angular,Rxjs,Observable,我对angular(2+)和Responsive编程都是新手。所以我有一种感觉,我可能会以错误的方式来处理这个问题,无论如何,以下是我试图按顺序、同步的顺序来做的: 从常量路径下载元数据文件“a.json” 将响应解析为javascript对象“a”。读取值“a.url” 从“a.url”下载文件“a.res” 解析文件“a.res”并写入“a.content” 返回包含元数据和内容的对象“a” 我知道如何使用jQuery和promises来实现这一点,但我不知道如何使用Observable来实

我对angular(2+)和Responsive编程都是新手。所以我有一种感觉,我可能会以错误的方式来处理这个问题,无论如何,以下是我试图按顺序、同步的顺序来做的:

  • 从常量路径下载元数据文件“a.json”
  • 将响应解析为javascript对象“a”。读取值“a.url”
  • 从“a.url”下载文件“a.res”
  • 解析文件“a.res”并写入“a.content”
  • 返回包含元数据和内容的对象“a”
  • 我知道如何使用jQuery和promises来实现这一点,但我不知道如何使用Observable来实现这一点

    更新: 下面是一个简单的示例,我将如何在jQuery中执行此操作:

    function loadTwo() {
        var deff = $.Deferred();
    
        $.getJSON("test.json").done(a => {
            $.get(a.url).done(res => {
                a.content = res;
                deff.resolve(a);
            });
        });
    
        return deff;
    }
    
    loadTwo().done(a => console.log(a));
    
    这就产生了
    对象{url:“FileInfo.xml”,内容:document}

    诸如此类。将Rx.Observable.of({url:'julia'})和Rx.Observable.of('res')替换为http调用

    Rx.Observable.of({url: 'julia'})
      .map(({url}) => ({url: url, a: {url: url}}))
        .switchMap(({url, a}) =>
          Rx.Observable.of('res')
            .map(res => Object.assign({}, a, {res: res})))
      .subscribe(x => console.log(x))
    

    可以展示jquery实现吗?您可以将其保持在高级别,并使用函数来概括(非常)高级别的步骤。然后,我们可以帮助您将该实现转换为rxjs