Angularjs TS2409:构造函数签名的返回类型必须可分配给类的实例类型

Angularjs TS2409:构造函数签名的返回类型必须可分配给类的实例类型,angularjs,typescript,Angularjs,Typescript,我在typeScript+angular中遇到了一个问题,这里的类foo是一个使用另一个服务作为fooService的服务,fooServie.getUser()返回某种类型的承诺 编译很好,但有以下类型错误:TS2409:构造函数签名的返回类型必须可分配给类的实例类型 请帮我解决这个问题 module fooModule { export class foo { static $inject = ['fooService']; constructo

我在typeScript+angular中遇到了一个问题,这里的类foo是一个使用另一个服务作为fooService的服务,fooServie.getUser()返回某种类型的承诺

编译很好,但有以下类型错误:TS2409:构造函数签名的返回类型必须可分配给类的实例类型

请帮我解决这个问题

module fooModule {

    export class foo {

        static $inject = ['fooService'];

        constructor(public fooService:services.fooService) {

            return fooService.getUser();
        }
    }
}
编译很好,但有以下类型错误:TS2409:构造函数签名的返回类型必须可分配给类的实例类型

错误很明显。构造函数的return语句
returnfooservice.getUser()
应给出类
类foo
的实例。e、 g

declare class FooService{
    getfoo():foo;
}

class foo {

    constructor(public fooService:FooService) {
        return fooService.getfoo();
    }
}
否则,在
var f=new foo
中,变量
f
将不是
foo
类型

更新 我不确定您的意图是什么,但希望这将为您提供更多指导:

module fooModule {

    export class Foo {

        static $inject = ['fooService'];

        constructor(public fooService:services.FooService) {
        }
        
        getUser():ng.IPromise<User>{
            return this.fooService.getUser();
        }
    }
    
    var foo = new Foo(); 
    foo.getUser().then(()=>{
        // complete this code here 
    });
}
module模块{
出口类食品{
静态$inject=['fooService'];
构造函数(公共fooService:services.fooService){
}
getUser():ng.IPromise{
返回此.fooService.getUser();
}
}
var foo=new foo();
foo.getUser()。然后(()=>{
//请在此处完成此代码
});
}

但是我不能保留foo类型的getfoo i我的场景getfoo返回ng.IPromisevar foo=new foo();行将按照构造函数的预期使用和参数,更清楚地说,我将在ui路由器的解析中使用foo类作为resolve:{user:foo}