1

Тема: Errors in Angular 4

Привіт, я тільки почала вивчати ангуляр, допоможіть мені, будь ласка, зрозуміти чому в мене виникли такі 2 помилки і як їх виправити

Error: Error trying to diff 'Response with status: 200 OK for URL: https://randomuser.me/api/?inc=gender,name,picture,location&results=8&nat=gb'. Only arrays and iterables are allowed


ERROR CONTEXT DebugContext_ {view: {…}, nodeIndex: 5, nodeDef: {…}, elDef: {…}, elView: {…}}


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

@Injectable()

export class UsersService {

    constructor(private http: Http) {}

    getUsers() {
        return this.http.get('https://randomuser.me/api/?inc=gender,name,picture,location&results=8&nat=gb');
        .map(function(response) {
            return response.json();
        })
        .map(response => response.results)
        .map(users => {
            return users.map(user => {
                return {
                    name: u.name.first + ' ' + u.name.last,
                    image: u.picture.large,
                    geo: u.location.city + ' ' + u.location.state + ' ' + u.location.street
                }
            })
        })
    }

    users = [
        {name: 'WFM 1'},
        {name: 'WFM 2'},
        {name: 'WFM 3'},
        {name: 'WFM 4'}
    ]
}

2 Востаннє редагувалося FakiNyan (04.03.2018 22:58:11)

Re: Errors in Angular 4

Вітаю.
Туто після return this.http.. йде крапка з комою, після чого йде крапка та оператор map. То є синтаксична помилка.
Спробуйте прибрати крапку з комою, тоді оператор map застосується для результату метода this.http.get()

return this.http.get('https://randomuser.me/api/?inc=gender,name,picture,location&results=8&nat=gb');
        .map(function(response) {
Подякували: dasha-w1

3

Re: Errors in Angular 4

Після того як я забрала крапку з комою, з'явилася ось така помилка:

ERROR TypeError: this.http.get(...).map is not a function

4

Re: Errors in Angular 4

то вам, певно, треба імпортнути map.
отаке додайте біля імпортів

import 'rxjs/add/operator/map';
Подякували: dasha-w, leofun012

5

Re: Errors in Angular 4

Дякую, ті 2 помилки зникли)
Але тепер з’явилася така:

ERROR ReferenceError: u is not defined

return {

     name: u.name.first + ' ' + u.name.last,
     image: u.picture.large,
     geo: u.location.city + ' ' + u.location.state + ' ' + u.location.street

}

6

Re: Errors in Angular 4

ось туто в функцію передається змінна з ім'ям user, а ви використовуєте ім'я u

return users.map(user => {
                return {
                    name: u.name.first + ' ' + u.name.last,

треба замініти user на u, або всі u на user

Подякували: dasha-w, NaharD2

7

Re: Errors in Angular 4

Тепер все працює, дякую за допомогу)

Подякували: FakiNyan1

8

Re: Errors in Angular 4

будь ласка

Подякували: dasha-w1