我需要我的应用程序在运行时通过HTTP端点运行一些配置.
我写了一个简单的服务来做到这一点:
module.factory('config', function ($http, analytics) {
return {
load: function () {
$http.get('/config').then(function (response) {
analytics.setAccount(response.googleAnalyticsAccount);
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
接下来,我在我的app模块的运行块中调用此模块:
angular.module('app').***.run(function(config) {
config.load();
});
Run Code Online (Sandbox Code Playgroud)
应用程序运行时一切正常,但在我的单元测试中,我收到此错误:"错误:意外请求:GET/config"
我知道它意味着什么,但我不知道如何从运行块发生它时嘲笑它.
谢谢你的帮助
编辑添加规格
在每个之前调用它
beforeEach(angular.mock.module('app'));
Run Code Online (Sandbox Code Playgroud)
试过这个来模拟$ httpBackend:
beforeEach(inject(function($httpBackend) {
$httpBackend.expectGET('/config').respond(200, {'googleAnalyticsAccount':});
angular.mock.module('app')
$httpBackend.flush();
}));
Run Code Online (Sandbox Code Playgroud)
但得到了:
TypeError: Cannot read property 'stack' of null
at workFn (/Users/arnaud/workspace/unishared-dredit/test/lib/angular/angular-mocks.js:1756:55)
TypeError: Cannot read property 'stack' of null
at workFn (/Users/arnaud/workspace/unishared-dredit/test/lib/angular/angular-mocks.js:1756:55)
TypeError: Cannot read property 'stack' of null
at workFn (/Users/arnaud/workspace/unishared-dredit/test/lib/angular/angular-mocks.js:1756:55)
Run Code Online (Sandbox Code Playgroud)
自更新到AngularJS 1.0.6后编辑
由于我已经更新到AngularJS 1.0.6,由Angular团队的Igor建议,问题已经消失,但现在我已经有了这个,听起来更"正常",但我仍然无法弄清楚如何制作有用.
Error: Injector already created, …Run Code Online (Sandbox Code Playgroud) 我们的Symfony2 webapp在开发模式下使用Assetic观察器来重新编译资产.
webapp在Docker容器中运行,该容器在Vagrant VM(Ubuntu 12.04 Precise)中运行.主机是OSX 10.9 Mavericks,它通过NFS(v3)共享与VM共享代码文件夹,代码通过Docker中的主机/客户卷安装在容器中.
由于inotify似乎无法检测到NFSv3上的文件修改,因此观察者在轮询模式下工作,这种模式可能非常慢(检测到修改的时间约为1/2分钟).
我已经读过NFSv4符合inotify,但我没有找到任何好的资源.
有没有办法让NFS/inotify一起工作?
在Google Chrome(37.0.2062.122,OSX/Windows)上,带有包含片段的网址的iframe会导致父元素向上滚动.
它只发生在Chrome中(在Safari和Firefox中测试过).
这是一个显示问题的小提琴:http://jsfiddle.net/wmz5cu1y/1/(你必须点击Run 两次.)
如您所见,<body>包含iframe 的整体已向上滚动.标题是隐藏的,因为它现在位于窗口上方,并且页面底部有一个意外的空白区域.
怎么避免这个?
赏金提供了非js变通方法或简单的html文档来重现这个问题.

我想知道是否有一个使用AngularJS命名事件的命名约定?
jQuery的定义其约定作为event.namespace(与命名空间在端,和点隔板)
我看过一些文章(例子),其中事件的命名如下:( namespace::event在开头有命名空间; 双冒号分隔符)
这个问题有一个共同的做法吗?
谢谢你的想法.
我有一个需要在Celery启动时启动的任务.接下来通过回调/ eta每5分钟运行一次此任务.
我找到了一些关于它的线索,但似乎没有任何东西可用于Celery 3.
谢谢你的帮助,Arnaud.
我开始在我的django Web应用程序中使用AWS Elasticache.
我首先使用自动发现功能将缓存位置设置为唯一端点,但似乎不起作用.
我正在使用pylibmc(1.2.2)和django-pylibmc-sasl(0.2.4)连接到python的memcached.
自动发现功能是否适用于这些客户端?我该如何启用它?
我正在使用Google Drive API v2。
我试图使用API中包含的一项功能来实现搜索功能。
似乎“ children.list”不是递归的,这意味着它不会遍历所有子文件夹。对于每个文件夹子引用,我是否必须通过多次调用API来实现?还是我在这里想念什么?
谢谢你的帮助。
我们的应用程序部署在Google App Engine,Python运行时(2.7)上,并且正在使用Drive API.HTTPException由于超过截止日期,在不同的端点(驱动器,OAuth等)上捕获的内容越来越多
我们已经实现了5次尝试的指数退避机制.我们的应用程序越来越多地达到了这个限制(今天早上,例如我们有很多这些例外).
这个问题可能是什么原因?是否可以增加超时延迟?
谢谢你的帮助.
这是一个完整的堆栈跟踪(OAuth2 API):
2013-06-07 21:11:10,851 ERROR An error occurred : Deadline exceeded while waiting for HTTP response from URL: https://accounts.google.com/o/oauth2/token
Traceback (most recent call last):
File "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch
return method(*args, **kwargs)
File "/base/data/home/apps/s~unishared-gae/production.367909734400765242/main.py", line 733, in get
creds = self.GetCodeCredentials() or self.GetSessionCredentials()
File "/base/data/home/apps/s~unishared-gae/production.367909734400765242/main.py", line 301, in GetCodeCredentials
creds = oauth_flow.step2_exchange(code)
File "lib/oauth2client/util.py", line 128, in positional_wrapper
return wrapped(*args, **kwargs)
File "lib/oauth2client/client.py", line 1283, in step2_exchange
headers=headers)
File "lib/httplib2/__init__.py", …Run Code Online (Sandbox Code Playgroud) 我正在使用Chrome扩展程序,我想加载Google文件选择器。我已经在扩展程序中包含了JS API脚本(我将其直接包含在包中)。
当我尝试加载选择器时:
google.setOnLoadCallback(function() {
var picker, view;
view = new google.picker.View(google.picker.ViewId.DOCS);
view.setMimeTypes("application/vnd.unishared.document");
picker = new google.picker.PickerBuilder().setAppId(...").addView(view).setCallback(function() {}).build();
return picker.setVisible(true);
});
google.load('picker', '1');
Run Code Online (Sandbox Code Playgroud)
它重定向到空白页,控制台中未记录任何严重错误。是否可以在这种情况下加载此API?
如果应用程序状态变脏,我正在努力处理后退按钮并向用户询问确认.关闭选项卡和重新加载已经通过onbeforeunload钩子处理.
我已经打了$routeChangeStart,$beforeRouteChange等,但不能正确地处理它.使用$routeChangeStart,在调用回调之前,路由会有效地更改.
处理这种情况的正确方法是什么?
谢谢你的帮助.
我有问题spyOn方法绑定到具有范围.$ on的事件在工厂服务中,使用Jasmine.最初传递的真实方法被称为,而不是间谍.我做了一个plinkr:http://plnkr.co/edit/2RPwrw?p = preview
谢谢你的帮助.