我正在尝试从promise函数调用AngularFireStore但是使用.this无效。如何从函数中调用afs?
import { AngularFirestore } from 'angularfire2/firestore';
constructor( private afs: AngularFirestore) {
}
var TestMethod = function() {
var promise = new Promise(function(resolve, reject){
this.afs.collection('profiles')
resolve();
});
return promise;
};
答案 0 :(得分:1)
问题在于你的范围。
您正试图在另一个函数中调用this
,因此您的this
现在引用该函数。
您应该执行以下操作:
import { AngularFirestore } from 'angularfire2/firestore';
constructor( private afs: AngularFirestore) {
}
var TestMethod = function() {
var self = this;
var promise = new Promise(function(resolve, reject){
self.afs.collection('profiles')
resolve();
});
return promise;
};