const request$ = ajax({
  url: 'https://jsonplaceholder.typicode.com/comments/',
  crossDomain: true
}).pipe(
  map(response => response.response || []),
  map(response => response.slice(0, 10)) // Take only first 10 comments
);

let subscription = polling(request$, { interval: 3000 }).subscribe((comments) => {
  console.log(comments);
});

        
      

Select a backoff strategy

To see failure handling try disabling network and check requests on Chrome Devtools => Network panel

View on Github