Angular 角度承诺:无法获得价值
我来自python世界,是Angular/ts/js编程方式的初学者Angular 角度承诺:无法获得价值,angular,ionic-framework,promise,Angular,Ionic Framework,Promise,我来自python世界,是Angular/ts/js编程方式的初学者 Ionic storage.get()方法返回一个Promise。我应该如何获取token的值,以便将其与http查询一起发送 目前,我正在尝试这个有缺陷的集团: get(url: string): Observable<Response> { let token = ""; this.storage.get('token') .then(token => token = token);
Ionic storage.get()
方法返回一个Promise
。我应该如何获取token的值,以便将其与http查询一起发送
目前,我正在尝试这个有缺陷的集团:
get(url: string): Observable<Response> {
let token = "";
this.storage.get('token')
.then(token => token = token);
return this.http.get(url, { "Authorization" : token});
}
但是,get(url)
返回一个Promise
而不是observeable
,这对我没有多大帮助
如果anwser属于DERE($q$q)的使用范围,请有人告诉我如何将此类导入angular/ionic
感谢您的帮助:)不,
$q
在AngularJS中用于处理承诺。在Angular中,您将主要使用Observable
您可以使用Observable.fromPromise
将promise转换为Observable,然后使用flatMap
,因此它最终将返回响应类型的Observable
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
get(url: string): Observable<Response> {
let token = "";
return Observable.fromPromise(this.storage.get('token'))
.flatMap(token => this.http.get(url, { "Authorization" : token}));
}
从'rxjs/Observable'导入{Observable};
导入“rxjs/add/observable/fromPromise”;
get(url:string):可观察{
让token=“”;
返回Observable.fromPromise(this.storage.get('token'))
.flatMap(token=>this.http.get(url,{“Authorization”:token}));
}
Hi@pankaj parkar。谢谢你的回答。我得到“[ts]属性'fromPromise'在'typeof Observable'类型上不存在。”“我会尽快修复它,但如果您有任何提示,欢迎:)@Paul您添加了Observable
import了吗?是的,我的代码中有两行:import{Observable}来自'rxjs/Observable';导入'rxjs/add/operator/fromPromise'
但是我在rxjs/add/operator
中没有fromPromise.js
,所以我想这是正常的。还是不?我的错,导入应该是import'rxjs/add/observable/fromPromise'代码>@Paul你能创造一个木偶/小提琴吗?
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
get(url: string): Observable<Response> {
let token = "";
return Observable.fromPromise(this.storage.get('token'))
.flatMap(token => this.http.get(url, { "Authorization" : token}));
}