Promise方法未定义(带有typescript的Angularjs)

Promise方法未定义(带有typescript的Angularjs),angularjs,typescript,promise,Angularjs,Typescript,Promise,我有个问题 我在我的项目中使用Angularjs和Typescript 我的问题是,当我调用getResult()方法时,浏览器会给出一个未定义的错误 我怎样才能解决这个问题 我调用getResult()方法: 我的控制器: module MyApp { class myModalCtrl { static $inject = ['IOService', '$interval']; public modalStatus: boolean; public promi

我有个问题

我在我的项目中使用Angularjs和Typescript

我的问题是,当我调用getResult()方法时,浏览器会给出一个未定义的错误

我怎样才能解决这个问题

我调用getResult()方法:

我的控制器:

module MyApp {

class myModalCtrl {
    static $inject = ['IOService', '$interval'];

    public modalStatus: boolean;
    public promise: any;

    constructor(private IOService: IOService, private $interval: ng.IIntervalService) {}

    init() {
        this.modalStatus = false;
        this.cancel();
        this.promise = this.$interval(this.listenResult, 3000);
    }

    getResult() {
        return this.IOService.request({
            url: 'token/validatetoken',
            data: {},
            disableSpinner: true
        }).then((res) => {
            if (angular.isUndefined(res.user)) return false;
            else return true;
        });
    }

    listenResult() {
        this.getResult().then(res => {
            if (res) this.openModal();
        });
    }

    cancel() {
        this.$interval.cancel(this.promise);
    }

    openModal() {
        this.cancel();
        this.modalStatus = true;
    }

    closeModal() {
        this.cancel();
        this.promise = this.$interval(this.listenResult, 3000);
        this.modalStatus = false;
    }



}

app.controller('myModalCtrl', myModalCtrl);}

共享控制器代码,无法从您提供的代码中应答我共享了控制器。错误发生在哪里?是否在
listenResult
中?是的,listenResult()类型中的错误原因错误:无法读取listenResult()中未定义的属性“getResult”。每隔一天会问一次这个问题。将
this.$interval(this.listenResult,3000)
替换为
this.$interval(()=>this.listenResult(),3000)
,或替换为
this.$interval(this.listenResult.bind(this),3000)