typescript - פיירבייס ו-RxJS

יצרתי פונקציה שמאזינה לאירועי ערך:

getUnreadMessages() : Observable<any>{ return new Observable(observer =>{ firebase.database().ref('messages/' + this.userService.getUserID()).on("value", (snapshot : any) =>{ let count = 0; ...some more logic here... observer.next(count); observer.complete(); }, (error) =>{ observer.error(error); }) }) }

כאשר בסיס הנתונים משתנה, אני יכול לראות

קרא עוד →

אנגולר - אופרטורים של RXJS לא עובדים עם Firebase

אני משתמש במפעילי RXJS עם האובזרבל של Firebase (distinct ו-filter). זהו עץ ה-Firebase שלי כאן. זה הקוד שלי:

let places this.db.list(`users/${this.authProvider.getUID()}/visitedPlaces`,{ query:{ orderByChild:"googleId" } }); places.distinct((p)=>{ console.log(p) return p.googleId; })

קרא עוד →

javascript - מודול Typescript פותר את 'rxjs' בצורה שונה באותו קובץ

בזבזתי שעות מסתובב במעגלים, אז הגיע הזמן לשאלה מעורפלת נוספת.

אני בתוך ריפוזיטורי מונו של lerna, עם שני פרויקטים משנה, ProjectA ו-ProjectB.

ProjectA תלוי ב-rxjs, כפי ש-ProjectB גם תלוי.

Pro

קרא עוד →

TypeScript - RxJS6: לאפס זרם לאחר סיום

שיחקתי קצת עם RxJS 6. אני מנסה ליישם dragstart, dragmove ו-dragend. זה הקוד שיש לי עד עכשיו.

import { fromEvent } from 'rxjs'; import { concatMap } from 'rxjs/internal/operators/concatMap'; import { map } from 'rxjs/internal/operators/map'; import { takeUntil } from 'rxjs/internal/operators/takeUnt

קרא עוד →

TypeScript - עם RxJs ב-Angular, האם אני צריך להשלים רק את ה-Observables שנוצרו ברכיב?

בסיסית, אני עדיין לא ממש בטוח לגבי ניקוי קוד ריאקטיבי ברכיבי Angular. האם הכללים הבאים נכונים ומספיקים?

הכללים שלי עבור רכיב תגובתי:

  • במדריך x.subscribe():

    • אם משתמשים ב-x.takeUntil(...) או במבנה דומה, אין צורך בניקוי ידני
    • אם x.complete() נקרא בהקשר של הרכיב אז אין צורך בניקוי ידני
    • או אחרת ביצוע ידני של .unsubscribe() לפי דרישה או בתוך ngOnDestroy()
  • ב-observable | async של ה

    קרא עוד →

TypeScript - RxJS דפדוף עם מנוי לכל עמוד

אנחנו מבצעים שאילתא ל-graphql דרך websocket כדי לקבל מנוי לרשימת ישויות. אנחנו משתמשים בעימוד מכיוון שהרשימה אמורה להיות ניתנת לגלילה ללא הגבלה. אנחנו גם רוצים לראות שינויים שנעשו בבסיס הנתונים בזמן אמת ברשימה בצד הלקוח.

רשימה זו יכולה להיות מסוננת, ממוינת ו-מחולקת לדפים.

יש לנו את המחלקה SelectParams שעוזרת לנו לעשות את זה:

export class SelectParams { page = 0; query = ''; sort: Sort = { so

קרא עוד →

TypeScript - Angular 6 שגיאה בשימוש ב-RxJS: לא ניתן לקרוא את המאפיין 'call' של אינו מוגדר

אני מנסה להעביר אפליקציית Angular 5 ל-Angular 6 ויש לי קטע קוד אחד של RxJS שמבלבל אותי. חיפשתי בגוגל וקראתי את התיעוד של RxJS מספיק כדי לדעת שאני צריך להשתמש ב-.pipe, אבל אני לא מצליח בדיוק להבין את הסינטקס.

הקוד מחזיר תוצאות מקריאת API כאשר המשתמש מקליד בשדה חיפוש. הגרסה החדש

קרא עוד →

javascript - RXJS Angular - איך לקרוא לפונקציה בסוף לולאת foreach שמכילה observables?

this.attachmentList.forEach((attachment, i) => { this.service.getPageOfAttachment().flatMap(response => this.service.download((JSON.parse(response['Content']).mediaUrl))) .subscribe(response => { }, error =&g

קרא עוד →

javascript - איך להפיק בבחירה תצפיות חמות (משותפות) ב-RxJS?

בקוד שלי, יש לי אובזרבל חם (אובזרבל קר שמוזן דרך אופרטור share()) שמשדר ערכים עם מזהים (כלומר סוג המטען מכיל תכונת מחרוזת בשם "id"). קבוצה של צופים על זה מסננים את הערכים המשודרים על בסיס המזהה הזה.

אני עכשיו חושב שהקוד שלי סופג ירידה עצומה בביצועים, מכיוון שכל מתבונן צריך לסנן כל ערך שמופץ. או יותר נכון, נוצר אובזרבל מסונן חדש בכל פעם שאני צריך שמתבונן חדש ירשם לאובזרבל המשותף. הקוד נראה משהו כזה:

const source = new Observable(); const sharedObservable = source.pipe(share

קרא עוד →

typescript - Angular 6 - המאפיין 'map' של rxjs לא קיים בסוג 'observable'

אני מקבל את השגיאה הזו כאשר שידרגתי ל-Angular 6. אני רואה את התיעוד לשימוש ב-.pipe(), אבל אני לא מבין איך להשתמש ב-pipe כשיש כמה .map() כפי שמופיע למטה. צריך את העזרה שלך...

import {Injectable} from '@angular/core'; import {Http, Headers} from '@angular/http'; impor

קרא עוד →