我在Lubuntu 13.04上使用谷歌浏览器版本31.0.1650.57,并且几周之后,开发工具突然将所有 CPU 耗尽到100%甚至什么都不做.
我的意思是什么都没有,比如
开放式镀铬带默认选项卡
打开开发工具 - > CPU 100%
关闭开发工具 - > CPU 1%
有人知道一些有助于理解的东西吗?
我有一个router view带reloadOnSearch: false.
这是一个搜索页面.
在没有任何搜索参数的情况下输入时,我尝试设置一些默认值:
例如:输入:#/search
我设置默认值:#/search?currpage=1&pagesize=20
使用$location.search({currpage:1,pagesize:20})作业完成,但我也得到了历史记录中推送的新网址,这是预期的,但在此特殊情况下它控制导航流的逻辑(单击后退按钮到达#/search并再次设置默认值和推送)
有没有办法替换阻止历史推送的搜索字符串?
在JS控制台上玩我遇到了一种奇怪的语法.我想知道是否有人可以告诉我更多...
试试这个:
>( function f(){console.log('i am f')} , (function x(){console.log('i am x')})() , y=2 , console.log('hello') )
i am x
hello
undefined
>f()
ReferenceError: f is not defined
>this.y
2
Run Code Online (Sandbox Code Playgroud)
这将失败:
(var c = 2)SyntaxError:意外的令牌变量
因此评估括号内的逗号分隔表达式,赋值碰巧是针对全局范围的,但命名函数声明引用仍然被困在内部,就像一个闭包更多......将该行放入一个用new调用的函数声明中:
function C(){
( function f(){console.log('i am f')} , (function x(){console.log('i am x')})() , y=2 , console.log('hello') )
}
Run Code Online (Sandbox Code Playgroud)
然后实例化:
>var c=new C()
i am x
hello
undefined
>c.y
undefined
>this.y
2
Run Code Online (Sandbox Code Playgroud)
发生完全相同,就像在全球范围内执行一样!
这个结构的用途/目的是什么?
多一个:
>( function f(){console.log('i am f')} , f() ) …Run Code Online (Sandbox Code Playgroud) 什么是序列化一堆承诺函数调用最方便的方法?
var promised_functions = [
fn1, // call this
fn2, // if previous resolved call this
fn3 // if previous resolved call this
];
q.serialize_functions(promised_functions)
.then(function(){
// if all promises resolved do some
})
Run Code Online (Sandbox Code Playgroud) 我想找一个收据提供Promise类似的Observable
意思:它Observable提供单个值并完成,
任何订阅者(完成之前和之后)应该获得该单个值.
我想出了一个组合Rx.Observable.create publishLast和connect.
var getPromiseLike=function(){
console.log('getPromiseLike()');
//// var an_object={}; <--- this should happen inside Obs function
var prom_like = Rx.Observable.create(function(obs) {
var an_object={}; /// <--- here !
setTimeout(function(){
obs.onNext(an_object);
obs.onCompleted();
},500);
}).publishLast();
prom_like.connect();
return prom_like;
};
var promiselike=getPromiseLike();
var obj1;
promiselike
.subscribe(function(obj){
console.log('onNext1');
obj1 = obj;
},
function(err){},
function(){
console.log('onComplete1');
});
setTimeout(function(){
promiselike
.subscribe(function(obj){
console.log('onNext2 obj1===obj :'+(obj1===obj)); //true
},
function(err){},
function(){
console.log('onComplete2');
});
},1000);
/*LOGS:
getPromiseLike()
script.js:19 onNext1
script.js:24 …Run Code Online (Sandbox Code Playgroud) 我想在angularjs动态定义服务,该文档称,$provide与$injector一些服务,因此,他们应该是在注射的module.run.我需要做可用的应用程序引导的动态服务,这就是为什么我想要在定义它们module.run
angular.module('remote.interface',[])
.run(['$provide', '$injector', function(provide, injector){
// provide dynamically
}]);
Run Code Online (Sandbox Code Playgroud)
但这最终导致错误:[$injector:unpr] Unknown provider: $provideProvider <- $provide,$injector如果我试图删除$提供注射,同样的错误.
错误在哪里?
[编辑]
经过一些研究我尝试过这样的事情:
var module = angular.module('remote.interface',[])
.run([function(){
var provide = module.provider(),
injector = angular.injector();
provide.value('my.val',{i:'am a value'});
injector.get('my.val'); // this throws [$injector:unpr] Unknown provider: my.valProvider <- my.val
}]);
Run Code Online (Sandbox Code Playgroud)
即使我删除了injector.get调用,如果我尝试注入my.val,例如,在另一个模块的控制器中,角度抛出相同的错误.
angularjs ×2
javascript ×2
promise ×2
closures ×1
geoserver ×1
performance ×1
q ×1
rxjs ×1
scope ×1