0

错误“未定义不是函数(评估'_ajax.ajax.getJSON(getIntervalUrl(response)).interval(10000)')”;

export const chartOneDayEpic = action$ => action$.ofType(FETCHING_CHART_DATA_ONE_DAY)
  .mergeMap(action => ajax.getJSON(getChartOneDayUrl(action))
    .timeout(10000)
    .retry(3)
    .switchMap(response => ajax.getJSON(getIntervalUrl(response))
      .interval(10000)
      .timeInterval()
      .map(intervalDataResponse => fetchChartDataSuccess(response.concat(intervalDataResponse)))
      .catch(err => Observable.of(fetchChartDataFailure(err))
     )
    )
  );

这意味着 ajax.getJSON 没有 .interval 函数,我不知道为什么,知道吗?

4

1 回答 1

2

interval是一个静态操作符工厂——它只在 可用Observable.interval(time),而不是在 Observables 的实例上可用。那是因为它实际上创建了一个 Observable,它本身会在该间隔内产生一个递增的值,所以它作为实例运算符没有意义,因为它会忽略您应用到的源。

interval 返回一个 Observable,它发出无限的递增整数序列,在这些发射之间有一个恒定的时间间隔。第一个发射不会立即发送,而是在第一个周期过去后发送。

于 2017-04-12T06:01:10.450 回答