如何在下面的代码中获取 data.next() 和 data.complete() ?
How to get data.next() and data.complete() here in the following code?
如何在以下代码中获取 data.next() 和 data.complete()。这里的数据不是充当观察者的角色吗?
当我尝试调用这些方法时出现错误
component.ts 文件
this.authservice.registerform(form).subscribe(data => {
data. ?
this.ifsuccess = true;
this.timer = setInterval(() => {
this.router.navigate(['']);
}, 1200);});
Service.ts
registerform(data): Observable<any>{
return this.httpclient.post('http://localhost:3000/login',data);
}
我是 Angular 和 rxjs 的初学者。请帮忙解决这个问题。
isn't data here acts as observer?
不,在您的示例中 data
是发出的(“下一个”)值。
当您订阅一个可观察对象时,您可以传递三个不同的参数,它们是 next
、error
和 complete
的处理程序。
示例:
someObservable$.subscribe(
next => console.log(`next value is: ${next}`),
err => console.log(`error is: ${err}`),
() => console.log('someObservable$ completed!)
);
在您的例子中,您只是向 subscribe()
方法提供了第一个处理程序。您只需使用参数名称 data
:
即可访问下一个值
this.authservice.registerform(form).subscribe(
data => {
// 'data' refers to the emitted value
this.ifsuccess = true;
this.timer = setInterval(() => {
this.router.navigate(['']);
}, 1200);
}
);
如果您需要处理完成或错误,只需提供其他处理程序即可:
this.authservice.registerform(form).subscribe(
data => {
// 'data' refers to the emitted value
this.ifsuccess = true;
this.timer = setInterval(() => {
this.router.navigate(['']);
}, 1200);
},
error => console.log('error occurred!'),
() => console.log('registerform call completed')
);
也可以将完整的观察者对象传递给 subscribe()
方法,而不是单独的处理程序方法:
const myObserver = {
next: val => console.log(`next val: ${next}`),
error: error => console.log(`error: ${error}`),
complete: () => console.log('complete!')
};
someObserver$.subscribe(myObserver);
这是一个 StackBlitz 示例。
如何在以下代码中获取 data.next() 和 data.complete()。这里的数据不是充当观察者的角色吗?
当我尝试调用这些方法时出现错误
component.ts 文件
this.authservice.registerform(form).subscribe(data => {
data. ?
this.ifsuccess = true;
this.timer = setInterval(() => {
this.router.navigate(['']);
}, 1200);});
Service.ts
registerform(data): Observable<any>{
return this.httpclient.post('http://localhost:3000/login',data);
}
我是 Angular 和 rxjs 的初学者。请帮忙解决这个问题。
isn't data here acts as observer?
不,在您的示例中 data
是发出的(“下一个”)值。
当您订阅一个可观察对象时,您可以传递三个不同的参数,它们是 next
、error
和 complete
的处理程序。
示例:
someObservable$.subscribe(
next => console.log(`next value is: ${next}`),
err => console.log(`error is: ${err}`),
() => console.log('someObservable$ completed!)
);
在您的例子中,您只是向 subscribe()
方法提供了第一个处理程序。您只需使用参数名称 data
:
this.authservice.registerform(form).subscribe(
data => {
// 'data' refers to the emitted value
this.ifsuccess = true;
this.timer = setInterval(() => {
this.router.navigate(['']);
}, 1200);
}
);
如果您需要处理完成或错误,只需提供其他处理程序即可:
this.authservice.registerform(form).subscribe(
data => {
// 'data' refers to the emitted value
this.ifsuccess = true;
this.timer = setInterval(() => {
this.router.navigate(['']);
}, 1200);
},
error => console.log('error occurred!'),
() => console.log('registerform call completed')
);
也可以将完整的观察者对象传递给 subscribe()
方法,而不是单独的处理程序方法:
const myObserver = {
next: val => console.log(`next val: ${next}`),
error: error => console.log(`error: ${error}`),
complete: () => console.log('complete!')
};
someObserver$.subscribe(myObserver);
这是一个 StackBlitz 示例。