Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Angular 角度承诺:无法获得价值_Angular_Ionic Framework_Promise - Fatal编程技术网

Angular 角度承诺:无法获得价值

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);

我来自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);

  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}));
}