angular - Subscribe-metoden returnerar JSON-objekt som undefined
Idag hade jag ett mycket intressant fel i mitt Ionic 2-projekt. Jag har en Asp.net REST API. Jag gör ett anrop från leverantören till REST API:et för att hämta maskinerna. Problemet är att det mappas som JSON och när jag skriver ut dess JSON-format visar det JSON-objektarrayen. Men efter mappning när jag prenumererar på det, visas det som undefined.
return this.http.get('http://localhost:19496/api/user(1982)/Machines',config).map(res=>console.log(res.json()));
det visas som :
det är okej. Men när jag prenumererar på det, returnerar det data undefined:
subscribe(data=>{
console.log(data)
})
Jag har inte ändrat koden. Förra veckan fungerade det, men när jag kom tillbaka från semestern fungerade det inte.
Svar #1
Baserat på vad jag kan se i frågan är problemet att du inte returnerar något från map:
return this.http.get('...',config)
.map(res=>console.log(res.json()));
Det är därför undefined returneras när du prenumererar på det. Försök genom att returnera svaret efter att ha skrivit ut det i konsolen:
return this.http.get('...',config)
.map(res => res.json())
.map(res => {
console.log(res);
return res; // <- Here! :)
});
