javascript承诺,缓存&角

时间:2015-07-20 08:37:11

标签: javascript angularjs typescript

我有一个角度服务,负责从服务器加载项目,然后在视图中选择一个项目时,相应的项目将从项目列表中获取并返回到详细信息。

我现在遇到的问题是当重新加载页面时,我的项目尚未加载,因此我的解决方案失败,导致无法重新加载。

In [43]:
df['First Season'] = (df['First Season'] > 1990).astype(int)
df

Out[43]:
                 Team  First Season  Total Games
0      Dallas Cowboys             0          894
1       Chicago Bears             0         1357
2   Green Bay Packers             0         1339
3      Miami Dolphins             0          792
4    Baltimore Ravens             1          326
5  San Franciso 49ers             0         1003

我认为这段代码(getItem)会返回一个项目,但它会再次返回整个集合。我如何修复我的代码让我返回单项?

1 个答案:

答案 0 :(得分:1)

如果你可以使用es6-shim:

getItem= (id: any): ng.IPromise<any> => {
    return this.getItems().then(() => this.items.find( (item: any) => {
        return item.id === id;
    }));
}

或者您可以使用

getItem= (id: any): ng.IPromise<any> => {
    return this.getItems().then(() => this.items.filter( (item: any) => {
        return item.id === id;
    })[0]);
}