Angular 可观测发射阵元

Angular 可观测发射阵元,angular,rxjs,observable,Angular,Rxjs,Observable,我使用angular2 http get方法从API获取对象数组。我想让一个可观测的元素以一个很短的延迟返回数组的1乘1,我如何才能做到这一点?这就是我现在的代码: return this.authHttp.get('fetch/arrayOfObjects',options).map(res => res.json()); 我不希望它像下面那样工作,因此结果由单个元素返回,延迟1秒: var obs = Rx.Observable.create(function (observer)

我使用angular2 http get方法从API获取对象数组。我想让一个可观测的元素以一个很短的延迟返回数组的1乘1,我如何才能做到这一点?这就是我现在的代码:

return this.authHttp.get('fetch/arrayOfObjects',options).map(res => res.json());
我不希望它像下面那样工作,因此结果由单个元素返回,延迟1秒:

var obs = Rx.Observable.create(function (observer) {
  let dt = [1,2,3,4,5];
  for(let e of dt){
     setTimeout(() => {
    observer.next(e);
  }, 1000);
  }
});

obs.subscribe(data=> console.log(data));

您可以使用
delay
运算符。请参阅。

您可以使用
delay
运算符。请参阅。

您可以使用
concatAll()
然后使用
delay()
在每次发射之间创建暂停(我假设远程服务返回一个对象数组):


您可以使用
concatAll()
然后使用
delay()
在每次发射之间创建暂停(我假设远程服务返回一个对象数组):

return this.authHttp.get('fetch/arrayOfObjects',options)
  .map(res => res.json())
  .concatAll() // unpack the array into single emissions
  .concatMap(val => Observable.of(val).delay(100)) // delay each emission
  .subscribe(...)