gpt4 book ai didi

javascript - 如何链接一个期望来自 Observable 的参数值的 Promise?

转载 作者:行者123 更新时间:2023-11-30 14:41:59 25 4
gpt4 key购买 nike

我有一个检索数据的可观察对象,这些值是来自 Promise 的参数。加入这些值以使 Promises 期望来自 observable 的值并且不会导致错误的更好方法是什么?

let user, id, settings;


this.UserService.getUserData().subscribe(user => {
user = user.name;
id = user.id;
});

this.UserConfiguration.getSettings(user, id)
.then(res => {
settings = res.settings;
debugger
});

另一种方法是在可观察对象中调用 promise ,但我不确定将参数传递给可观察对象的最佳方法是什么。

this.UserService.getUserData().subscribe(user => {
this.UserConfiguration.getSettings(user.name, user.id)
.then(res => {
settings = res.settings;
debugger
});
});

最佳答案

this.UserService.getUserData().switchMap((data) => 
Observable.fromPromise(this.UserConfiguration.getSettings(data.user, data.id))
.subscribe((result) => this.settings = result.settings));

编辑:我正在简化答案以仅包含不可出租的版本。如果您需要可出租的运算符,只需 pipe(switchMap).subscribe() 即可。

关于javascript - 如何链接一个期望来自 Observable 的参数值的 Promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502448/

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