gpt4 book ai didi

angular - 如何使用angular 2在ionic 2框架的http请求中返回从http请求中收到的结果。我的代码如下

转载 作者:可可西里 更新时间:2023-11-01 17:26:38 24 4
gpt4 key购买 nike

getUsableToken() {

let platformName = "abc";
let platformId = "123123";

return this.http.get('http://localhost:17001/platform/' + platformId + '/key?name=' + platformName).map(res => res.json())
.subscribe(data => {

let secretKey = data.payload.platformInfo.key;

return this.http.get('http://localhost:17001/platform/' + platformId + '/token?name=' + platformName + '&key=' + secretKey).map(res => res.json())
.subscribe(data => {
return data.payload.token;

}, err => {
console.log(err);
});
},
err => {
console.log(err);
});
}

在此代码中,我想返回 data.payload.token。怎么做?任何帮助将不胜感激。

最佳答案

你可以做的是在这里使用 flatMap (mergeMap),因为第二次调用依赖于第一次调用的结果,所以像这样:

import 'rxjs/add/operator/mergeMap';

//....

getUsableToken() {
return this.http.get('url')
.map(data => {
let secretKey = data.json().payload.platformInfo.key
return secretKey;
})
// where 'key' is the parameter you need for the second call
.flatMap(key => this.http.get('url').map(data => {
let token = data.json().payload.token;
return token;
}))

}

现在您可以在订阅的地方获得 token :

doSomething() {
this.myService.getUsableToken()
.subscribe(token => console.log(token))
}

关于angular - 如何使用angular 2在ionic 2框架的http请求中返回从http请求中收到的结果。我的代码如下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45697046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com