Javascript RxJS自定义可观察不';如果我移动到单独的功能,则不会触发
目前我正在学习RxJS,我遇到了一个尴尬的情况,我创建了一个基本的自定义可观察对象,从后端服务获取,然后使用管道进行一些链接 我正在做这个。在App.js中的useEffect函数中,我有以下正在运行的代码:Javascript RxJS自定义可观察不';如果我移动到单独的功能,则不会触发,javascript,reactjs,rxjs,Javascript,Reactjs,Rxjs,目前我正在学习RxJS,我遇到了一个尴尬的情况,我创建了一个基本的自定义可观察对象,从后端服务获取,然后使用管道进行一些链接 我正在做这个。在App.js中的useEffect函数中,我有以下正在运行的代码: const http$ = Observable.create(async observer => { try { const res = await axios("localhost:3001"); await observer.next
const http$ = Observable.create(async observer => {
try {
const res = await axios("localhost:3001");
await observer.next(res.data);
await observer.complete();
} catch (er) {
observer.error(er);
}
});
const posts$ = http$.pipe(
map(posts => posts.map(post => ({ ...post, genre: "Music" })))
);
posts$.subscribe(
posts => console.log(posts),
noop,
() => {
console.log("completed");
}
);
现在,当我在一个单独的文件上移动可观察的功能并尝试再次运行时,它不会在一个奇怪的情况下运行。它甚至不发出请求,控制台上也没有显示错误
utils.js中的函数:
import { Observable } from "rxjs";
import { axios } from "axios";
export const createHttpObservable = url =>
Observable.create(async observer => {
try {
const res = await axios(url);
await observer.next(res.data);
await observer.complete();
} catch (er) {
observer.error(er);
}
});
在App.js中的某些方面:
const http$ = createHttpObservable('localhost:3001');
const posts$ = http$.pipe(...
有人能帮我吗?因为我想我错过了什么。
非常感谢。最后我发现axios库的导入是错误的。当前的实现没有问题。非常感谢。在第二种情况下,你在哪里订阅可观察到的?在App.js中,就像我在第一个地方做的那样。没有改变任何逻辑,只是在单独的函数上移动了可观测值。如果您回答自己的问题,至少添加您的解决方案。。。