我正在使用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'); 正在运作。
我在这里遗漏了什么吗?我看不出有什么不对。
答案 0 :(得分:1)
替换
then(function (doc) {
通过
then(doc => {
这是箭头功能的全部要点:它们会自动绑定到this
。