Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
财产';toPromise';不存在于类型';可观察<;回应>'; 从'@angular/Http'导入{Headers,Http}; @可注射() 导出类发布服务{ private publishersUrl='app/publisher'; 构造函数(私有http:http){} getpublisher():承诺{ 返回this.http.get(this.publishersUrl) .toPromise() .then(response=>response.json().data) .接住(这个.把手错误); } }_Angular_Typescript_Rxjs_Angular2 Services - Fatal编程技术网

财产';toPromise';不存在于类型';可观察<;回应>'; 从'@angular/Http'导入{Headers,Http}; @可注射() 导出类发布服务{ private publishersUrl='app/publisher'; 构造函数(私有http:http){} getpublisher():承诺{ 返回this.http.get(this.publishersUrl) .toPromise() .then(response=>response.json().data) .接住(这个.把手错误); } }

财产';toPromise';不存在于类型';可观察<;回应>'; 从'@angular/Http'导入{Headers,Http}; @可注射() 导出类发布服务{ private publishersUrl='app/publisher'; 构造函数(私有http:http){} getpublisher():承诺{ 返回this.http.get(this.publishersUrl) .toPromise() .then(response=>response.json().data) .接住(这个.把手错误); } },angular,typescript,rxjs,angular2-services,Angular,Typescript,Rxjs,Angular2 Services,我得到这个错误: 类型“Observable”上不存在属性“toPromise”。是否存在 您需要像这样添加运算符: import 'rxjs/add/operator/toPromise'; 这对于您想要使用的每个rxjs操作符都是必需的 尝试从“@angular/http”向导入语句添加“Response” 像这样: import {Http, Headers, Response} from '@angular/http'; 我还注意到,你们并没有从角核导入可伸缩性 尽管您使用@Inje

我得到这个错误:

类型“Observable”上不存在属性“toPromise”。是否存在


您需要像这样添加运算符:

import 'rxjs/add/operator/toPromise';

这对于您想要使用的每个rxjs操作符都是必需的

尝试从“@angular/http”向导入语句添加“Response” 像这样:

import {Http, Headers, Response} from '@angular/http';
我还注意到,你们并没有从角核导入可伸缩性 尽管您使用@Injectable装饰器

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

在开始时使用此导入

import {Observable} from "rxjs/Rx";

通常情况下,将可观测值转换为承诺不是一个好主意。对于任何一个偶然发现这个问题的人来说,Observable的功能都要强大得多(这是我在google上的顶级链接),请参见下面的链接,它来自其中一个链接的答案,正如上面所说的,在Visual Studio 2015中,您可以通过更新您的typescript版本来解决这个问题,我还更新了systemjs.config.js,并遵循了本页上的建议。现在很好。嗨,MiHawk,你在systemjs.config.js中更新了什么?我也在关注,被困在这里,所以答案是什么,没有说明是什么解决了这个问题。我安装了最新版本的TypeScript tools 2.X版本,这解决了这个问题——但创建了209个其他版本。其余的修复程序是退出VisualStudio并运行>npm upgrade--save(作为管理员)。有几个软件包未能更新,但当我启动Visual Studio Bower/npm时,其他软件包会自动更新,一切都很好。这真是个坏主意,它会导入整个RXJS库,它非常大,会大大增加页面加载时间。我不这么认为。。我们使用来自“@angular/core”的import{component};很多地方是对的,所以这也应该是不好的?从'rxjs/Observable'导入{Observable};是你想要的。。。这将只导入可观察的,如果您使用rxjs/Rx,那么它将导入所有rxjs,并且只使用可观察的,这是一个真正的减速。删除对rxjs/RX的所有引用,并观察网络请求的大幅减少和页面加载速度的加快。请更新您对angular版本2以上的答案(最好是8或9)