首页 > 解决方案 > Javascript - 如何在 promise resolve 中使用构造函数类

问题描述

我在构造函数中有一个定义变量的类,这个类有一个打印变量值的方法。到目前为止,一切都很好。我打电话给班级,结果符合预期。但是,当我在承诺中调用该类时,变量 this 不存在。有人可以帮我解决这个问题吗?这是代码:

此代码返回正确的结果

class classTest {
    constructor() {
        this._value = 'Value in constructor';
    }

    func() {
        return new Promise((resolve, reject) =>  {
            console.log(this._value);
            resolve();
        });
    }
};

let test = new classTest();
test.func();

此代码返回 TypeError: Cannot read property '_value' of undefined

class classTest {
    constructor() {
        this._value = 'Value in constructor';
    }

    func() {
        return new Promise((resolve, reject) =>  {
            console.log(this._value);
            resolve();
        });
    }
};

let test = new classTest();

const p = new Promise((resolve, reject) => {
    resolve()
});

p
    .then(test.func)
    .catch(console.error);

标签: javascriptpromise

解决方案


推荐阅读