大佬教程收集整理的这篇文章主要介绍了如何解决在AngularJS,Jasmine 2.0的promise,当没有$scope强制摘要?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$scope.$digest()
.这是愚蠢的IMO但很好,我有工作在适用(控制器)。
我现在的情况是我有一个服务,可以关心任何范围的应用程序,所有它从服务器返回一些数据,但promise似乎没有解决。
app.service('myservice',function($q) { return { getSomething: function() { var deferred = $q.defer(); deferred.resolve('test'); return deferred.promise; } } });
describe('Method: getSomething',function() { // In this case the expect()s are never executed it('should get something',function(donE) { var promise = myservice.getSomething(); promise.then(function(resp) { expect(resp).toBe('test'); expect(1).toEqual(2); }); done(); }); // This throws an error because done() is never called. // Error: Timeout - Async callBACk was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAl. it('should get something',function(donE) { var promise = myservice.getSomething(); promise.then(function(resp) { expect(resp).toBe('test'); expect(1).toEqual(2); done(); }); }); });
编辑:解决方案参考。显然,你被迫注入和消化$ rootScope,即使服务没有使用它。
it('should get something',function($rootScope,donE) { var promise = myservice.getSomething(); promise.then(function(resp) { expect(resp).toBe('test'); }); $rootScope.$digest(); done(); });
以上是大佬教程为你收集整理的如何解决在AngularJS,Jasmine 2.0的promise,当没有$scope强制摘要?全部内容,希望文章能够帮你解决如何解决在AngularJS,Jasmine 2.0的promise,当没有$scope强制摘要?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。