Angularjs MEANJS检查findOne上是否为null
我刚从MEANJS开始。我正在修改示例文章模块 查看findOne()的代码,它似乎查询数据库,然后返回它并分配给Angularjs MEANJS检查findOne上是否为null,angularjs,mongodb,meanjs,Angularjs,Mongodb,Meanjs,我刚从MEANJS开始。我正在修改示例文章模块 查看findOne()的代码,它似乎查询数据库,然后返回它并分配给$scope.article // Find existing Article $scope.findOne = function() { $scope.article = Articles.get({ articleId: $stateParams.articleId }); }; 我希望它这样做,像
$scope.article
// Find existing Article
$scope.findOne = function() {
$scope.article = Articles.get({
articleId: $stateParams.articleId
});
};
我希望它这样做,像重定向或显示404的其他东西,如果它返回什么。可能是因为URL上有一个输入错误。我开始测试,通过故意在URL上输入错误ID来查看结果
结果
- 当ID实际存在时,在控制台中,我会看到“findsomething”后跟“undefined”
- 当ID不好时,在控制台中,我会看到“find something”后跟“underfined”,然后后跟400个“bad Request”错误
// Find existing Article $scope.findOne = function() { $scope.article = Articles.get({ articleId: $stateParams.articleId }); if ($scope.article) { console.log('found something'); console.log($scope.article._id); } else { console.log('found NOTHING'); } };
底线是,我如何检查我是否真的得到了一些东西?由于
Articles.get()
函数是异步的,它应该返回一个对象,然后您可以检查返回的对象。像这样的方法应该会奏效:
var self = this;
Articles.get({
articleId: $stateParams.articleId
}).$promise.then(function(data){
if (data) {
console.log('found something');
console.log(data.article._id);
self.article = data.article;
}
else {
console.log('found NOTHING');
});