从异步 class 构造函数创建可观察对象
Create observable from async class constructor
所以我们有一个像这样的异步 class 构造函数
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();
构造函数按预期运行。我试过from,fromPromise和defer,得到构造函数的返回结果。使用 tap 查看异步构造函数是否曾经发出。它没有。
有什么帮助吗?
所以问题是 Rx.js 5 对 6。
Rx.js6.
中没有fromPromise
这是正确的方法,感谢评论
Observable.of({name: "Task1", url: "http://example.com"})
.pipe(
switchMap(item =>
from(new Task(item.name, item.url)),
(item, task) => ({item, task})
)
).subscribe();
所以我们有一个像这样的异步 class 构造函数
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();
构造函数按预期运行。我试过from,fromPromise和defer,得到构造函数的返回结果。使用 tap 查看异步构造函数是否曾经发出。它没有。
有什么帮助吗?
所以问题是 Rx.js 5 对 6。
Rx.js6.
中没有fromPromise这是正确的方法,感谢评论
Observable.of({name: "Task1", url: "http://example.com"})
.pipe(
switchMap(item =>
from(new Task(item.name, item.url)),
(item, task) => ({item, task})
)
).subscribe();