简短:有一个返回http调用(get、put等)的方法,使用typescript类型确定返回的项的类型?
在TypeScrpt级别,promise是泛型类型。它承载您期望的消息类型,例如IPromise
您也可以对Observables(RxJS)执行同样的操作。很简单,我们有
可观察的
回到Angular,HTTP模块包装了可观察对象。它不会立即返回值,但会发出包含http相关内容(状态、状态文本、url等)的http调用,而不仅仅是值。在http中。d、 ts,http。获取、放置、发布等返回
可见
问题是:在http调用中是否有可能预定义http调用/可观察返回的类型?类似于
可观察的东西
也许这会帮助某人。。。
@Injectable()
export class UsersModel {
getItem(id: number): Observable<User> {
return this.http.get(`${API_URL}/users/${id}`, {
headers: this.getHeaders()
});
}
}
在上面的代码中,抛出的错误是可观察的
@Injectable()
export class UsersModel {
getItem(id: number): Observable<User> {
return this.http.get(`${API_URL}/users/${id}`, {
headers: this.getHeaders()
})
.map((res) => res.json());
}
}
现在没有冲突,因为
res.json
(类响应)返回any
。这为我们提供了一种可能性,让getItem
方法返回我们的特定类型:getItem(id:number):可观察的
this.UsersModel.getItem().subscribe(u => {
u // u is of User already, yay!
})
我想你在找这样的东西:
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/map';
import 'rxjs/add/observable/of';
get(id: number): Observable<User> {
const url = `${this.baseUrl}/${id}`;
return this.http
.get(url)
.do((response: Response) => {
if (!response) {
return Observable.of(null);
}
})
.map((response: Response) => {
return <User>response.json();
})
.catch(error => {
return Observable.of(null);
});
}
我有一个带有http请求的服务,它返回我的标题的可观察到的内容 servise.ts 在我的组件中,我有一个函数从service get Request设置。看起来是这样的: 问题是,有时我接收到带有空标签的标题,不需要显示它们,所以我需要对其进行过滤,并对此标题发送.delete()请求。我尝试了类似的方法(想法是在之前添加,然后在另一个subscribe内部调用。)差不多吧 但不确定这是不是个
我有一个看起来很常见的问题,但到目前为止,我还没有找到一个适合我的解决方案。我想我只是错过了一些小事情,但我已经崩溃了,请求帮助。我正在尝试使用flask和pymongo获得json输出。 以下是控制台中使用print(结果)的对象: 当我试图返回时,我得到了错误: TypeError: ObjectId类型的对象不是JSON可序列化的 类联系人(资源): 我试过bson。json_util建议。
我刚刚开始使用Angular2,我有一个我不能真正理解的问题。 我创建了一些模拟数据: 然后将其导入服务并“观察” 然后我有一个组件,在构造函数中: 第一个控制台。日志记录包含testDataArray属性的Object类型的对象。 第二个控制台。日志,在编译时导致错误: 同时仍按预期记录对象[Object, Object,...]的数组。 我真的不明白为什么,我肯定我做错了什么,我想要一个解释。
我正在将angular 2组件转换为使用异步数据源。 我有一个<代码> 这会导致错误: 找不到类型为“object”的不同支持对象“[object]”。NgFor只支持绑定到数组之类的可重用文件。 我试过
我正在尝试将文件从mongoDB读取到本地。 我的代码如下:STRING=“myLocalPath”PATH=STRING.json 我得到错误-对象类型'ObjectId'是不是JSON序列化...请建议。
我有一个api,我正在尝试使用Flask Pymongo存储/发布一个用户对象。 但是,我得到了以下错误 文件“/home/kay/.local/share/virtualenvs/server-iT4jZt3h/lib/python3.7/site-packages/flask/json/i│ 尼特。py”,第321行,在jsonify中 │ 转储(数据,缩进=缩进,分隔符=分隔符)“\n”,│