PouchDB 得到 Promise 为 'this' 返回 null
PouchDB get Promise returning null for 'this'
我正在使用带有 Ionic v2 的 PouchDB。当我试图从 .then 从 .get.
访问它时,我遇到了一个问题
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 打印 null 和 doc 对象,但是当尝试执行 this.get(doc.name) 它失败并输入 .catch 其中 this.get('start.json'); 正在工作。
我是不是漏掉了什么?我看不出有什么问题。
替换
then(function (doc) {
来自
then(doc => {
这就是箭头函数的全部意义所在:它们会自动绑定到 this
。
我正在使用带有 Ionic v2 的 PouchDB。当我试图从 .then 从 .get.
访问它时,我遇到了一个问题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 打印 null 和 doc 对象,但是当尝试执行 this.get(doc.name) 它失败并输入 .catch 其中 this.get('start.json'); 正在工作。
我是不是漏掉了什么?我看不出有什么问题。
替换
then(function (doc) {
来自
then(doc => {
这就是箭头函数的全部意义所在:它们会自动绑定到 this
。