คำถามติดแท็ก rxjs5

21
วิธีที่ถูกต้องในการแบ่งปันผลของการโทรเครือข่าย Angular Http ใน RxJs 5 คืออะไร?
โดยการใช้ Http เราจะเรียกวิธีที่ใช้ในการโทรผ่านเครือข่ายและส่งกลับ http ที่สังเกตได้: getCustomer() { return this.http.get('/someUrl').map(res => res.json()); } หากเราใช้สิ่งนี้สามารถสังเกตได้และเพิ่มสมาชิกหลายคน: let network$ = getCustomer(); let subscriber1 = network$.subscribe(...); let subscriber2 = network$.subscribe(...); สิ่งที่เราต้องการจะทำคือมั่นใจได้ว่านี่จะไม่ทำให้เกิดคำขอเครือข่ายหลาย สิ่งนี้อาจดูเหมือนเป็นสถานการณ์ที่ผิดปกติ แต่จริง ๆ แล้วเป็นเรื่องธรรมดา: ตัวอย่างเช่นหากผู้โทรสมัครรับข้อมูลที่สังเกตได้เพื่อแสดงข้อความแสดงข้อผิดพลาดและส่งผ่านไปยังเทมเพลตโดยใช้ async pipe เรามีสมาชิกสองคนแล้ว วิธีที่ถูกต้องในการทำเช่นนั้นใน RxJs 5 คืออะไร? คือนี่ดูเหมือนจะทำงานได้ดี: getCustomer() { return this.http.get('/someUrl').map(res => res.json()).share(); } แต่นี่เป็นวิธีที่ใช้ในการทำสิ่งนี้ใน RxJs 5 หรือว่าเราควรทำอย่างอื่นแทน? …

4
ท่อสำหรับ RxJS คืออะไร?
ฉันคิดว่าฉันมีแนวคิดพื้นฐาน แต่มีบางอย่างที่ไม่ชัดเจน โดยทั่วไปนี่คือวิธีที่ฉันใช้Observable: observable.subscribe(x => { }) หากฉันต้องการกรองข้อมูลฉันสามารถใช้สิ่งนี้: import { first, last, map, reduce, find, skipWhile } from 'rxjs/operators'; observable.pipe( map(x => {return x}), first() ).subscribe(x => { }) ฉันยังสามารถทำได้: import 'rxjs/add/operator/map'; import 'rxjs/add/operator/first'; observable.map(x => {return x}).first().subscribe(x => { }) ดังนั้นคำถามของฉันคือ: อะไรคือความแตกต่าง? หากไม่มีความแตกต่างทำไมฟังก์ชันจึงpipeมีอยู่? เหตุใดฟังก์ชันเหล่านี้จึงต้องการการนำเข้าที่แตกต่างกัน
110 angular  rxjs  rxjs5 

3
สังเกตได้ในที่สุดเมื่อสมัครสมาชิก
ตามartcle นี้ , onCompleteและonErrorฟังก์ชั่นของการsubscribeอยู่ร่วมกันอย่างเดียว ความหมายอย่างใดอย่างหนึ่งonErrorหรือonCompleteเหตุการณ์ต่างๆจะเริ่มขึ้นในsubscribeไฟล์. ฉันมีบล็อกลอจิกที่จำเป็นต้องดำเนินการไม่ว่าฉันจะได้รับข้อผิดพลาดหรือฉันทำข้อมูลให้เสร็จสมบูรณ์ ฉันมองหาบางอย่างเช่นfinallyใน pythonแต่สิ่งที่ฉันพบคือfinallyสิ่งที่ต้องแนบกับสิ่งที่สังเกตได้ที่ฉันสร้างขึ้น แต่ฉันต้องการใช้ตรรกะนั้นเฉพาะเมื่อฉันสมัครและหลังจากสตรีมสิ้นสุดลงไม่ว่าจะสำเร็จหรือมีข้อผิดพลาด ความคิดใด ๆ ?
106 javascript  rxjs  rxjs5 

10
จะคืนค่าจากฟังก์ชันที่มีการสมัครสมาชิกแบบสังเกตได้อย่างไร?
ฉันไม่รู้วิธีดึงค่าจาก Observable เพื่อส่งคืนโดยฟังก์ชันที่ Observable มีอยู่ ฉันต้องการเพียงมูลค่าจากมันเพื่อส่งคืนไม่มีอะไรอื่น เวอร์ชันปัจจุบันที่ใช้งานได้ function getValueFromObservable() { this.store.subscribe( (data:any) => { console.log(data) } ) } getValueFromObservable() ฉันต้องการให้สิ่งนี้ใช้งานได้ฟังก์ชั่นคืนค่าแล้ว: function getValueFromObservable() { this.store.subscribe( (data:any) => { return data } ) } console.log(getValueFromObservable()) ฉันทำอะไรผิดที่นี่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.