2016-06-03 3 views
4

Я работаю с Angular 2, и мне было интересно, может ли кто-нибудь объяснить ситуацию, когда было бы полезно преобразовать и наблюдать за обещанием?Когда было бы полезно изменить Наблюдаемый на обещание

Ex. Rx.Observable.toPromise()

Я знаю различия между обещаниями & Наблюдаемые. Опять же, мне было просто любопытно, какой тип ситуации пригодится оператору toPromise().

спасибо :)

ответ

2

Очевидной ситуация, когда вы наложили API, что API интерфейсы только с обещаниями, некоторые из входов для этого API вы получаете наблюдаемые. Если все эти условия соблюдены, тогда вам нужно обратить ваше наблюдение на обещание.

Как вы получите наблюдаемое значение, которое представляет только одно значение, или где вы заботитесь только о последнем значении? Ну, то же самое. Ваш наблюдаемый может быть возвращен навязанным API, что API только взаимодействует с наблюдаемыми и т. Д.

Так что основная причина использования .toPromise - это когда у вас на самом деле нет выбора и он должен конвертировать.

0

Обещает пожары ровно один раз. Поэтому первое требование для преобразования наблюдаемого в обещание состоит в том, что наблюдаемые испускают только один раз (или вы только заботитесь о первом излучении).

Обещание API является более простым, чем наблюдаемый - в основном только then и catch, с ним быть легко повесить дополнительные then ветвей от тех, в то время как с наблюдаемыми вы должны подписаться, а затем, возможно, беспокоиться о отписке.

Возможно, у вас есть код ниже по потоку с . Ожидается, что будет обещано, так как в другом ответе вам нужно будет конвертировать в обещание для взаимодействия с ним.

Смежные вопросы