ค้นหาเว็บไซต์

ไทป์สคริปต์ - ไฟร์เบส และ อาร์เอ็กซ์เจเอส

ฉันสร้างฟังก์ชันที่คอยฟังเหตุการณ์ค่า:

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); }) }) }

เมื่อฐานข้อมูลเปลี่ยนแปลง ฉันสามารถเ

อ่านต่อไป →

angular - ตัวดำเนินการ RXJS ไม่ทำงานกับ firebase

ฉันกำลังใช้ตัวดำเนินการ RXJS กับ observable ของ Firebase (distinct และ filter) นี่คือต้นไม้ Firebase ของฉัน นี่คือโค้ดของฉัน:

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

อ่านต่อไป →

javascript - โมดูล Typescript แก้ไขปัญหา 'rxjs' แตกต่างกันในไฟล์เดียวกัน

ฉันใช้เวลาหลายชั่วโมงวนไปวนมา ดังนั้นถึงเวลาของคำถามที่ไม่ชัดเจนอีกครั้ง

ฉันอยู่ภายใน lerna mono repo โดยมีสองโปรเจกต์ย่อย ได้แก่ ProjectA และ ProjectB

ProjectA มีการพึ่งพา rxjs เช่นเดียวกับ ProjectB

อ่านต่อไป →

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

อ่านต่อไป →

typescript - กับ RxJs ใน Angular ฉันจำเป็นต้องทำให้ Observables ที่สร้างใน component เสร็จสมบูรณ์เท่านั้นหรือไม่?

โดยพื้นฐานแล้วฉันยังไม่ค่อยแน่ใจเกี่ยวกับการทำความสะอาดโค้ด reactive ในคอมโพเนนต์ของ Angular กฎต่อไปนี้ถูกต้องและเพียงพอหรือไม่?

กฎของฉันสำหรับคอมโพเนนต์แบบปฏิกิริยา:

  • ในคู่มือ x.subscribe():

    • ถ้าใช้ x.takeUntil(...) หรือโครงสร้างที่คล้ายกัน จะไม่ต้องทำความสะอาดด้วยตนเอง
    • ถ้า x.complete() ถูกเรียกในขอบเขตของคอมโพเนนต์ก็จะไม่มีการล้างข้อมูลด้วยตนเอง
    • หรือทำด้วยตนเอง .unsubscribe() ตามต้องการหรือใน ngOnDestr

      อ่านต่อไป →

TypeScript - RxJS การแบ่งหน้าพร้อมการสมัครสมาชิกกับแต่ละหน้า

เรากำลังสอบถาม graphql ผ่าน websocket เพื่อมีการสมัครรับรายการของเอนทิตี เราใช้การแบ่งหน้าเนื่องจากรายการนี้ควรเลื่อนดูได้ไม่จำกัด เรายังต้องการเห็นการเปลี่ยนแปลงที่เกิดขึ้นในฐานข้อมูลแบบเรียลไทม์ในรายการที่ด้านหน้าด้วย

รายชื่อนี้สามารถ กรอง, เรียงลำดับ และ แบ่งหน้า ได้

เรามีคลาส SelectParams ที่ช่วยให้เราทำสิ่งนั้นได้:

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

อ่านต่อไป →

typescript - Angular 6 ข้อผิดพลาดในการใช้ RxJS: ไม่สามารถอ่านคุณสมบัติ 'call' ของ undefined

ฉันกำลังพยายามย้ายแอป Angular 5 ไปยัง Angular 6 และฉันมีบล็อกโค้ด RxJS หนึ่งบล็อกที่ทำให้ฉันสับสน ฉันได้ค้นหาใน Google และอ่านเอกสาร 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 - วิธีเลือกปล่อย observables แบบร้อน (แชร์) ใน RxJS?

ในโค้ดของผม ผมมี observable แบบร้อน (observable แบบเย็นที่ถูกส่งผ่านตัวดำเนินการ share()) ที่ส่งค่าพร้อมตัวระบุ (เช่น ประเภท payload มีสมบัติแบบสตริงชื่อว่า "id") จากนั้นมี observers หลายตัวกรองค่าที่ส่งออกตาม id ดังกล่าว

ตอนนี้ฉันคิดว่าโค้ดของฉันอาจได้รับผลกระทบด้านประสิทธิภาพอย่างมาก เนื่องจากผู้สังเกตทุกคนต้องกรองค่าทุกค่าที่ถูกส่งออกมา หรือก็คือ มีการสร้าง observable ที่ถูกกรองใหม่ทุกครั้งที่ฉันต้องการให้ผู้สังเกตใหม่สมัครกับ observable ที่แชร์ โค้ดก็ดูประมาณนี้:

const

อ่านต่อไป →

typescript - Angular 6 - rxjs คุณสมบัติ 'map' ไม่มีอยู่ในประเภท 'observable'

เกิดข้อผิดพลาดนี้เมื่อฉันอัปเกรดเป็น Angular 6 ฉันเห็นเอกสารเกี่ยวกับการใช้ .pipe() แต่ฉันไม่เข้าใจวิธีการใช้ pipe เมื่อมีหลาย .map() ดังตัวอย่างด้านล่าง ต้องการความช่วยเหลือจากคุณ...

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

อ่านต่อไป →