// #docregion
import { Component } from '@angular/core';
import { Observable } from 'rxjs/Rx';
@Component({
  selector: 'hero-message',
  template: `
    
Async Hero Message and AsyncPipe
    Message: {{ message$ | async }}
    `,
})
export class HeroAsyncMessageComponent {
  message$: Observable;
  private messages = [
    'You are my hero!',
    'You are the best hero!',
    'Will you be my hero?'
  ];
  constructor() { this.resend(); }
  resend() {
    this.message$ = Observable.interval(500)
      .map(i => this.messages[i])
      .take(this.messages.length);
  }
}
// #enddocregion
// Alternative message$ formula:
// this.message$ = Observable.fromArray(this.messages)
//   .map(message => Observable.timer(500).map(() => message))
//   .concatAll();