2016-10-30 9 views
7

"मानचित्र फ़ंक्शन नहीं है" के बारे में बहुत सारे प्रश्न थे, लेकिन लगभग हर किसी ने अभी rxjs लाइब्रेरी आयात नहीं की है।नक्शा एक फ़ंक्शन नहीं है (Rxjs) हालांकि आयात

मेरे मामले में, मैं आयात करता हूं, लेकिन त्रुटि अभी भी वहां है।

मैं आयोनिक 2 के साथ काम करते हैं और यह है कि मेरे package.json निर्भरता की तरह लग रहे:

"dependencies": { 
"@angular/common": "2.0.0", 
"@angular/compiler": "2.0.0", 
"@angular/compiler-cli": "0.6.2", 
"@angular/core": "2.0.0", 
"@angular/forms": "2.0.0", 
"@angular/http": "2.0.0", 
"@angular/platform-browser": "2.0.0", 
"@angular/platform-browser-dynamic": "2.0.0", 
"@angular/platform-server": "2.0.0", 
"@ionic/storage": "1.0.3", 
"ionic-angular": "2.0.0-rc.1", 
"ionic-native": "2.2.3", 
"ionicons": "3.0.0", 
"rxjs": "5.0.0-beta.12" 
} 

तो वह यह है कि मैं अपने सेवा कैसे बना सकता हूँ:

import { Injectable } from '@angular/core'; 
import { Http, Headers, RequestOptions, Response } from '@angular/http'; 
import { Observable } from 'rxjs'; 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class LoginService { 
    constructor(private http: Http) { 

    } 

    private dataUrl = '/node'; 

    getData() : any { 
     this.http.get(this.dataUrl) 
      .map(response => response.json()) 
      .subscribe(result => console.log(result)); 
    } 
} 

मैं भी फिर से स्थापित करने की कोशिश की rxjs मॉड्यूल, लेकिन अभी भी कोई सफलता नहीं है। शायद यह आयनिक 2 या वर्तमान कोणीय संस्करण के साथ असंगत है?

आप लोगों को क्या सोचते हैं?

चीयर्स,

Andrej

+0

क्या आप संपूर्ण त्रुटि संदेश दिखा सकते हैं? – martin

+0

इसके साथ भी 'आयात' आरएक्सजे/आरएक्स'' – micronyks

उत्तर

2

फ़ाइल बनाने rxjs-operators.ts

// Statics 
import 'rxjs/add/observable/throw'; 
// Operators 
import 'rxjs/add/operator/catch'; 
import 'rxjs/add/operator/debounceTime'; 
import 'rxjs/add/operator/distinctUntilChanged'; 
import 'rxjs/add/operator/map'; 
import 'rxjs/add/operator/switchMap'; 
import 'rxjs/add/operator/toPromise'; 

और इसे कहते है जब यदि आवश्यक हो तो।

import './rxjs-operators'; 
1

कोशिश

import {Observable} from 'rxjs/Observable'; 

getData() : Observable<any> { 
     this.http.get(this.dataUrl) 
      .map(response => response.json()) 
      .subscribe(result => console.log(result)); 
    } 
7

मैं एक ही समस्या थी।

मैं system.js के साथ jspm का उपयोग कर रहा हूं। मेरे लिए जब मैंने jspm update कोणीय 2-http आवश्यक [email protected] का उपयोग करके अपने सिस्टम को अपग्रेड किया, लेकिन [email protected] आवश्यक [email protected] जो तब "rxjs" मैप किया गया है। मुझे लगता है क्योंकि यह नवीनतम संस्करण था? मैंने यह सब config.js फ़ाइल का निरीक्षण करके खोजा जो जेएसपीएम द्वारा बनाया गया था।

तो जाहिरा तौर पर जब मैं बयान ...

import 'rxjs/add/operator/map'; 

... यह नक्शा जोड़ने था संस्करण 5.0.0-beta.12 जो है नहीं संस्करण है जो http उपयोग कर रहा था rxjs करने के लिए इस्तेमाल किया। मैं लाइन के लिए बदलने के लिए ...

import 'npm:[email protected]/add/operator/map'; 

था ... और फिर यह काम किया।

+0

धन्यवाद!मैंने अभी आपके आयात कोड में आरएक्सजेएस संस्करण संख्या बदल दी है और यह मेरे लिए काम करता है। –

0

कोशिश

आयात से {इंजेक्शन} '@ कोणीय/कोर'; आयात 'एचटीपी, प्रतिक्रिया, शीर्षलेख, URLSearchParams, RequestOptions}' @ कोणीय/http 'से; आयात 'पर्यवेक्षक}' आरएक्सजे/पर्यवेक्षण 'से; आयात 'आरएक्सजेएस/आरएक्स';

-1

आयात आयात 'आरएक्सजेएस/आरएक्स'; 'rxjs/Observable' से {Observable} आयात करने के लिए 'rxjs/rx' से आयात {पर्यवेक्षण} से प्रत्येक आयात के लिए 5.5.2 संस्करण के साथ कुछ समस्याएं हैं;

+1

दो चीजें: आपकी सजा अपूर्ण है। और यह बहुत अच्छा होगा अगर आप या तो स्रोत के साथ अपने दावे का समर्थन कर सकते हैं * या *। – MrPaulch

+0

@MrPaulch: जब हम 'आरएक्सजेएस/आरएक्स' से आयात {पर्यवेक्षण} जैसे पर्यवेक्षण आयात करते हैं तो हमें मुद्दों का निर्माण होता है और हमें 'आरएक्सजे/पर्यवेक्षण' से {पर्यवेक्षण} आयात करने की आवश्यकता होती है; –

संबंधित मुद्दे