【问题标题】:PouchDB get Promise returning null for 'this'PouchDB 让 Promise 为“this”返回 null
【发布时间】:2017-03-03 01:01:51
【问题描述】:

我正在使用 PouchDB 和 Ionic v2。我在尝试从 .get 访问 .then 内部时遇到问题。

public start(): Promise<any> {
    return this.db.get('step.current').then(function (doc) {
        Logger.log(this);
        Logger.log(doc);
        if (doc) return this.get(doc.name);
        return this.get('start.json');
    }).catch(err => {
        Logger.error(err);
        return this.get('start.json');
    });
}

Logger 打印 nulldoc 对象,但是在尝试执行 this.get(doc.name) 时失败并输入.catch this.get('start.json'); 工作的地方。

我在这里遗漏了什么吗?我看不出有什么问题。

【问题讨论】:

    标签: angular ionic2 pouchdb


    【解决方案1】:

    替换

    then(function (doc) {
    

    通过

    then(doc => {
    

    这就是箭头函数的重点:它们自动绑定到this

    【讨论】:

    • 哇,谢谢,我很尴尬没有注意到这一点。我可能需要休息一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 2022-01-14
    • 2018-11-14
    • 2016-04-16
    • 2016-10-06
    • 2016-01-30
    相关资源
    最近更新 更多