javascript - 如何使用 Http.get 从我的项目中获取数据?

标签 javascript typescript angular angular2-http

我有一个包含一些用户的 ts 文件:

quickstart-muster/app/mock/user.mock.ts:

import {User} from "../user";

export const USERS:User[]=[
  new User(....);
];

服务 - Quickstart-muster/app/services/user.service.ts:

import { Injectable } from '@angular/core';
import {Observable} from "rxjs/Observable"
import 'rxjs/add/operator/map';
import 'rxjs/add/observable/fromPromise';
import 'rxjs/add/operator/toPromise';
import {Http} from "@angular/http";
import {User} from "../user";

@Injectable()
export class UserService {

  constructor(private http:Http){}

  public loadUsers():Observable<User[]>{
    return this.http.get('../mock/user.mock.ts')
      .map(res=>res.json());
  }
}

我知道那行不通,但事实并非如此,我收到 404 错误,说他找不到 .../mock/user.mock.ts。

如何让它发挥作用?

最佳答案

您可以加载 JSON 文件,就像它来自 API 一样:

/data.json

[
    {
        "id": 1234,
        "name": "...",
        ...
    },
    ...
]

然后你可以像这样加载它:

public loadUsers(): Observable<User[]>{
  return this.http.get('data.json')
    .map(res => res.json());
}
<小时/>

您还可以像这样从头开始创建一个Observable:

public loadUsers(): Observable<User[]> {
    return Observable.create((observer) => {
        observer.onNext(USERS);
        observer.onCompleted();
    });
}

关于javascript - 如何使用 Http.get 从我的项目中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38719424/

相关文章:

javascript找到深度嵌套的对象

typescript :属性 "title"在类型 'never' 上不存在

javascript - Angular 4 - 验证器自定义函数未定义

iphone - typescript .ts 文件的 UTI 是什么?

angular - 订阅 angular2 不工作

json - Angular Http Get 不要在启动时设置值

javascript - 解析完整的json文件 typescript

javascript - 如何在javascript中在彼此下方显示数据

javascript - Google Docs - 以编程方式将鼠标点击发送到大纲 Pane 中的项目

javascript - 将 JSON 放入表行中