Моя_служба: -Как сделать сервисную функцию, которая принимает значение и возвращает наблюдаемую в Angular 2?
@Injectable()
export class MyService {
doStuff(value){
//Do stuff and when done return new data
return newData;
}
}
Мой компонент: -
export class MyComponent implements OnInit {
constructor(private _myService: MyService){}
ngOnInit() {
this._myService.doStuff(value)
.subscribe((data) => {
console.log("new data: ", data);
})
}
}
Так что мой вопрос, как я могу сделать функцию doStuff()
возврата наблюдаемой. Также я хочу подписаться на указанную функцию, передавая ей значение. Как мне это сделать, пожалуйста?
У меня есть работа где я устанавливаю переменную как новый Subject()
(внутри моей службы) - затем я вызываю .next()
на указанную переменную и передаю значение обратно. Только вопрос, я должен назвать свою doStuff()
функции, а затем подписаться на переменное что-то вроде ниже: -
Моих текущих услуг: -
@Injectable()
export class MyService {
myData:any = new Subject<any>();
myDataAnnounce = this.myData.asObservable();
doStuff(value){
//Do stuff and when done return new data
this.myData.next(newData);
}
}
Моего текущий компонент: -
export class MyComponent implement OnInit {
constructor(private _myService: MyService){}
ngOnInit() {
this._myService.doStuff(value);
this._myService.myDataAnnounce
.subscribe((data) => {
console.log("new data: ", data);
})
}
}
Я хотел бы сделать один звонок со значением, которое я хочу передать, а затем подписаться. Заранее благодарим за любую помощь, которую вы можете предоставить.
'return Observable.of (newData)'? – jonrsharpe
что такое прецедент здесь? – chrispy
@ jonrsharpe Я чувствую, что, возможно, я подумал об этом и слишком увяз в других методах. Вы правы, я думаю :) Завтра будет проверяться дважды. Благодарю. –