打开大型JavaScript文件,例如Chrome开发者工具上的缩小文件,选项卡来源,会冻结它.在我的一个项目中,如果我点击jquery-1.11.1.min.js
它挂起,我不能做任何其他事情然后关闭标签.为了使事情变得更加困难,Chrome会记住在"源"选项卡上打开的最后一个文件,并记住最后打开的选项卡,因此我必须打开另一个网站,启动"开发人员工具"并更改选项卡,以使其适用于我的项目.我不得不使用Firefox而不是Chrome进行调试.
我想知道如何在等待异步可观察到达时正确使用离子-2加载控制器 - 因为可观察到的可能没有,单个或许多响应的"波".
第一个问题 - 如何呈现
我应该使用loader.present()
或loader.present().then(..
.我看到很多代码示例"忽略"加载器的异步性质(我甚至看到了loader.present(//function to execute)
第二个问题 - 什么时候解雇
如上所述,来自订阅的响应可以到达未知的响应"波浪" - 考虑到它,何时应该解除加载器?如果没有回复怎么办?如果有几个回复怎么办?例如:
let loader = this.loadingController.create({content : "something"})
loader.present().then(()=>{
source.subscribe((school)=>{
this.schools.push(school)
loader.dismiss()
}, err=> loader.dismiss()
)
})
Run Code Online (Sandbox Code Playgroud)
第三个问题 - 如何解雇
我注意到解决加载控制器有很多问题(例如,离子2 - 加载控制器不起作用).解雇后赶上是不够的??如果在加载后我想要推送到另一个页面怎么办...?
感谢您的耐心等待.
我工作的公司有一个有趣的错误:我们有一个应用程序有很多快捷键,包括“`”(反引号字符),并且由于KeyboardEvent.keyCode
已被弃用,因此在重构时对其进行了更改
KeyboardEvent.keyCode === 192\n
Run Code Online (Sandbox Code Playgroud)\n到
\nKeyboardEvent.key === \'`\'\n
Run Code Online (Sandbox Code Playgroud)\n这适用于没有激活变音符号的键盘 - 例如,没有变音符号的美国键盘,按下 ` 键会立即写入 ` 字符 - 而对于激活变音符号的用户,则不会(在这种情况下,键入 ` 需要按 ` 键,然后按空格),因为例如,如果按 ` 键,然后按字母 a,您将得到字符 \xc3\xa0。显然,激活变音符号后,KeyboardEvent.key
会返回Dead
,因此我们必须恢复此重构。
话虽如此,使用这个已弃用的功能是否还有其他选择?
\n我最近加入了一个以引导标准作为标准的项目.
虽然我理解这种风格的原因(线条的安全评论),但它非常不方便(温和地说).
我有一种强烈的感觉,这不仅仅是关于品味,而且我需要更好的理由而不是"我不喜欢它"来说服团队不要使用这种风格.
ps示例代码:
function cls(){
var prop = {
a:'a'
,b:'b'
,c:'c'
,d:'d'
};
var arr = [
11
,12
,13
,14
];
var x=1
,y=2
,z=3;
return {
f:function(){
alert(prop.a);
}
, g:function(){
alert(arr[0]);
}
, h: function(){
alert(x);
}
};
}
var test = cls();
test.f();test.g();test.h();
Run Code Online (Sandbox Code Playgroud)
到目前为止的客观原因(部分来自答案,部分来自我的):
这种风格非常罕见,特别是在JavaScript学习材料和框架中.很可能项目的新手会感到不舒服,以及需要处理格式不同的项目的开发人员
IDE中的大多数自动格式化工具都不尊重此样式(不是默认情况下也不是通过配置)
各种工具/实用程序中的潜在错误,因为这些工具很可能在定期放置的逗号上实现和测试.示例:使用前导逗号编译JavaScript代码时,Sencha CMD存在错误
更新:我们根据常用样式自动格式化了所有项目(具体来说,根据谷歌风格指南:http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml).代码看起来明显更好,并且所有工具都按预期工作(IDE,Optimizers,Builders(Sencha CMD),语法验证器,......).这是大公司内的一个大项目,所以这不是一个微不足道的决定.此外,它损失了清晰的CVS历史 - 但最终它是值得的.