Promise方法未定义(带打字稿的Angularjs)

时间:2018-07-14 14:41:04

标签: angularjs typescript promise

我有问题。

我在项目中使用Angularjs和Typescript。

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

我该如何解决这个问题?

我调用getResult()方法:

TypeError: Cannot read property 'getResult' of undefined

我的控制器:

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);}

0 个答案:

没有答案