所以我创建这将消息发送到后端服务来检查特定的电子邮件地址是否已在数据库上。
userDB.emailExists = function()
{
var returnVal;
$http.get('?backend=users&email=myemail%40mydomain.com')
.success(function(data) { returnVal = data.count ? true : false; })
.error(function(data) { /* TODO error handling */ });
returnVal = data.count ? true : false;
});
return returnVal;
};
现在目前这个单元测试(测试,看该功能是否返回true
或false
)与没有Expected undefined to be truthy.
。 我想我知道为什么; 作为一个承诺只返回一个“占位符”,因此,在我们得到的“回报”的语句时, returnVal
还没有确定呢。
唯一的问题是,我不知道如何解决这个问题; 我不希望返回的承诺,因为这似乎是复杂的不必要的层时,结果是一个简单的true或false