所以我们有一个像这样的异步类构造器
class Task {
constructor(name, url) {
return (async () => {
this.name = name;
this.response = await fetch(url);
return this;
})();
}
}
然后我们要在这样的可观察链中使用它
Observable.of({name: "Task1", url: "http://example.com"})
.pipe(
switchMap(item =>
fromPromise(new Task(item.name, item.url)),
(item, task) => ({item, task})
)
).subscribe();
构造函数按预期运行。我已经尝试过fromPromise和defer,以获得构造函数的返回结果。用tap查看异步构造函数是否发出过。不会。
有帮助吗?
答案 0 :(得分:0)
所以问题出在Rx.js 5 vs 6。
Rx.js 6中没有fromPromise。
这是正确的方法,感谢您的评论
{
"balance": 2430.87,
"quantity": 11,
"name": "Skinner Ward",
"gender": "male",
"company": "GROK",
"state": "New Jercy"
},
{
"balance": 3192.7,
"quantity": 15,
"name": "Gwen Dixon",
"gender": "female",
"company": "ICOLOGY",
"state": "Vetaikan"
},
{
"balance": 1663.84,
"quantity": 14,
"name": "Deena Gillespie",
"gender": "female",
"company": "OVERPLEX",
"state": "New Jercy"
}