Угловой 2 - Список сортировки от наблюдаемого

Каков наилучший способ sort списка элементов, исходящих из Observable и все еще иметь возможность использовать async pipe? (Я читал, что создание настраиваемого канала сортировки не очень эффективно.) Я хочу избежать подписки и хранения локальной копии данных и, таким образом, просто используя async pipe...

//can I use map here and filter items right in the observable and get rid of subscribe?

this.test$ = Observable.of(['one', 'two', 'three'])
    .subscribe((data) => {
        data.sort((a, b) => {
            return a < b ? -1 : 1;
         });
        this.data = data;
     });

шаблон:

<div *ngFor='let item of data'>
<!-- want to be able to use async pipe here -->

Ответы

Ответ 1

Если вы вызываете .subscribe() вы получаете Subscription, асинхронный канал ожидает Observable.

Если вы измените его на

this.test$ = Observable.of(['one', 'two', 'three'])
.map((data) => {
    data.sort((a, b) => {
        return a < b ? -1 : 1;
     });
    return data;
 });

вы можете использовать асинхронный канал с test$