Angular 角度类型脚本传递服务函数

Angular 角度类型脚本传递服务函数,angular,typescript,angular2-services,Angular,Typescript,Angular2 Services,我的服务中有两种方法,它们做的事情非常相似,所以订阅是相同的。我想加入exection,所以在启动我的服务方法时 this.createNewUser(this.userModel, this.userDefaultGroupSelectedId) .subscribe( res => { this.msgs = ({ severity: "success", summary: "Success:\n", de

我的服务中有两种方法,它们做的事情非常相似,所以订阅是相同的。我想加入exection,所以在启动我的服务方法时

this.createNewUser(this.userModel, this.userDefaultGroupSelectedId)
            .subscribe(
            res => {
                this.msgs = ({ severity: "success", summary: "Success:\n", detail: res });
                this.userModel = new User();
                this.onConfirm.emit();
            },
            error => {
                this.msgs = ({ severity: "error", summary: "Error Message:", detail: error.Message ? error.Message : error.toString() });
            }
它将调用createNewUser,它将返回应该调用的函数

createNewUser(user: IUser, userDefaultGroupSelectedId: number): Observable<string> 
    {
        if (this.asRegistration == false) {
            return this.userAdministrationService.addNewUser(this.userModel, this.userDefaultGroupSelectedId);
        }
        else {
            this.userAdministrationService.registerNewUser(this.userModel);
        }
    }

问题似乎是您没有返回this.userAdministrationService.registerNewUser(this.userModel)的结果,因此在这种情况下函数的返回是
未定义的

尝试将其更改为:

return this.userAdministrationService.registerNewUser(this.userModel);

问题似乎是您没有返回this.userAdministrationService.registerNewUser(this.userModel)的结果,因此在这种情况下函数的返回是
未定义的

尝试将其更改为:

return this.userAdministrationService.registerNewUser(this.userModel);

显然,addNewUser或registerNewUser函数返回未定义的。请向我们展示您的
addNewUser
registerNewUser
函数implementations@IgorSoloydenko事实上,@meligy已经回答了你的问题。不知何故,
return
关键字在函数调用之前丢失在else子句中。显然,addNewUser或registernewser函数返回未定义。请向我们展示您的
addNewUser
registernewser
函数implementations@IgorSoloydenko事实上,@meligy已经回答了你的问题。不知何故,
return
关键字在函数调用之前丢失在else子句中。