PouchDB获取Promise为'this'返回null

时间:2017-03-02 17:00:04

标签: angular ionic2 pouchdb

我正在使用PonicDB和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');
    });
}

记录器打印 null doc 对象,但在尝试执行 this.get(doc.name)时,它会失败并输入 .catch 其中 this.get('start.json'); 正在运作。

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

1 个答案:

答案 0 :(得分:1)

替换

then(function (doc) {

通过

then(doc => {

这是箭头功能的全部要点:它们会自动绑定到this