جاوااسکریپت - RxJs pipe و عملگر قابل لوله `map`: زمینه 'this' از نوع 'void' قابل انتساب به 'this' متد از نوع 'Observable<{}>' نیست


من این مثال بسیار ساده را دارم که از عملگر قابل استفاده مجدد map همراه با pipe از [email استفاده میکند:

import { map } from 'rxjs/operator/map';

let o = of(1, 2, 3, 4).pipe(
    map((v) => v * 2)
);

اما این خطا را تولید میکند Error:(34, 5) TS2684: Context 'this' از نوع 'void' قابل انتساب به 'this' متد از نوع 'Observable<{}>' نیست. مشکل اینجا چیست؟

پاسخ شماره ۱

عملگرهای قابل استفاده برای نمونه باید از rxjs/operators ایمپورت شوند:

import { map } from 'rxjs/operators';

برخلاف معادلهای غیرقابل اجاره که از rxjs/operator وارد میشوند:

import { map } from 'rxjs/operator/map';

برای یادگیری بیشتر در مورد اپراتور قابل انتساب، مطالعه کنید:

  • RxJS: درک عملگرهای قابل انتساب