Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 我如何截取一个可观测值来获取值,并且仍然返回一个可观测值?_Angular_Rxjs - Fatal编程技术网

Angular 我如何截取一个可观测值来获取值,并且仍然返回一个可观测值?

Angular 我如何截取一个可观测值来获取值,并且仍然返回一个可观测值?,angular,rxjs,Angular,Rxjs,我在angular service中编写了一个sign-in函数,它返回一个可观测值。我想截取流,获取值并设置为variable,而无需订阅。我尝试使用管道和地图操作符,但没有成功。最好的方法是什么 import { Observable, of } from 'rxjs'; import { HttpClient } from '@angular/common/http'; import { map } from 'rxjs/operators'; @Injectable({ prov

我在angular service中编写了一个sign-in函数,它返回一个可观测值。我想截取流,获取值并设置为variable,而无需订阅。我尝试使用管道和地图操作符,但没有成功。最好的方法是什么

import { Observable, of } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { map } from 'rxjs/operators';
 
@Injectable({
  providedIn: 'root',
})
export class AppService {
  signInUrl: string = 'http://localhost:3000/api/v1/users/login';
  user: any;
  constructor(private _http: HttpClient) {}
 
  getUser(): Observable<any> {
    return of(this.user);
  }
 
 signIn(obj): Observable<any> {
    return this._http.post(this.signInUrl, obj).pipe(
      map((u) => {
        this.user = u;
      })
    );
  }
 
  logOut(): void {
    this.user = null;
  }
}
import{Observable,of}来自'rxjs';
从'@angular/common/http'导入{HttpClient};
从“rxjs/operators”导入{map};
@注射的({
providedIn:'根',
})
导出类应用程序服务{
符号:字符串http://localhost:3000/api/v1/users/login';
用户:任何;
构造函数(私有的_http:HttpClient){}
getUser():可观察{
返回(该用户);
}
信号(obj):可观察{
返回此.u http.post(this.signInUrl,obj).pipe(
地图((u)=>{
这个用户=u;
})
);
}
注销():void{
this.user=null;
}
}

我想你要做的就是用“点击”来更改“地图”

你的代码应该可以工作,只是不会被触发。我想你忘记订阅这个方法了

例如:sign(obj.subscribe();我们应该做到这一点