我有以下服务:
app.factory('$FCMPlugin', $FCMPlugin);
$FCMPlugin.$inject = [];
function $FCMPlugin() {
var service = {
getToken: function() {
FCMPlugin.getToken();
}
};
return service;
}
然后,当用户登录时,我从我的控制器调用工厂,期望一个令牌值作为返回:
$FCMPlugin.getToken()
.then(function(token){
console.log(token);
$scope.user.fcmToken = token;
})
.catch(function(error){
console.log('error');
})
但我得到的是getToken未定义......为什么会这样?是否定义明确?
TypeError: Cannot read property 'then' of undefined
我也尝试过:
Factory.js
function $FCMPlugin() {
var service = {
getToken: function() {
return FCMPlugin.getToken()
.then(function(token){
return token;
})
.catch(function(error){
throw error;
});
}
};
return service;
}
另一次尝试,但仍然是同样的错误..
function $FCMPlugin() {
var service = {
getToken: function(success, fail) {
FCMPlugin.getToken(success, fail);
}
};
return service;
}
控制器:
$FCMPlugin.getToken()
.success(function(token){
console.log(token);
$scope.user.fcmToken = token;
})
.error(function(error){
console.log('no error');
})
错误:无法读取属性'成功'未定义的
我已经尝试过各种方式,但仍然没有...