发表于: 2017-06-21 23:26:26
1 937
今天完成的事情:
今天按照更新的nginx配置方案修改了nginx的配置文件,结果出现了很多问题,所幸和后端沟通后问题都
得到了妥善的解决。从中也总结了一些经验教训,前后端有问题的时候一定要及时的沟通交流,不要自己一
个人闷着头在那儿郁闷,有时候不是你的问题(比如字段名写错了)你纠结再久也解决不了。图片上传用
的angular-file-upload插件,把之前任务的代码搬过来倒是也能用,就是在angular里夹着几局document.getElementById显得有点low,不过low不low先把功能实现了再说,我对这个插件的理解还
比较浅,看了别人写的服务或者是指令又看不懂,只能先用自己写的粗糙工具凑合了。链接和行业选择框
那个替换用了ng-if实现的挺好的,这次它比较听话。昨天讲小课堂的时候看了dev开头的萝卜多和绍博师兄
的萝卜多的翻页,写的指令里一看到link和scope就不懂了,虽然之前书上看过,小课堂也有人讲过,但是
还是用的少,相博说他指令没学会,我也是不会,感觉这是个知识盲区,指令还是很强大的,比较独立,复用性强。
明天计划的事情:
完成公司列表的编辑新增页面,修复地区选择不能搜索的bug,学习bootstrap的模态框,加到项目里
遇到的问题:
主要是跟后端约定的一些字段名,title啊author啊这些,自己以前没注意,现在改的时候吃不少亏,算是长个教训。
收获:
今天相博小课堂的内容是“异步编程有哪几种方法来实现?”
所谓同步、异步,同步指的是:后一个任务等待前一个任务结束,然后再执行,程序的执行顺序与任务的排列顺序是一致的、同步的。
异步:每一个任务有一个或多个回调函数(callback),前一个任务结束后,不是执行后一个任务,而是执行回调函数,后一个任务则是不等前一个任务结束就执行,所以程序的执行顺序与任务的排列顺序是不一致的、异步的。
在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应,最好的例子就是Ajax操作。在服务器端,"异步模式"甚至是唯一的模式,因为执行环境是单线程的,如果允许同步执行所有http请求,服务器性能会急剧下降,很快就会失去响应。
实现异步编程的一个方法就是回调函数,
var f;
function d(){
alert("我是Jquery定义的函数d");
}
var e = function(){
alert("我也是Jquery定义的函数e");
}
function a(callback) {
alert("我是parent函数a!");
d();
if (typeof callback === "function"){
//alert(callback);
callback();
}
}
function b(){
alert("我是回调函数b");
d();
e();
f();
}
function c(){
alert("我是回调函数c");
d();
e();
f();
}
function test1() {
a(b);
}
function test2() {
a(c);
}
$(function(){
f = function(){
alert("我是回调函数f");
}
});
上面就是一个回调函数的例子,
相当于先执行程序的主要逻辑,将耗时的操作推迟执行。
回调函数的优点是简单、容易理解和部署。
但是回调函数的方式存在如下的问题:
1. 缺点是不利于代码的阅读和维护,各个部分之间高度耦合(Coupling),流程会很混乱,
而且每个任务只能指定一个回调函数。
2. 可能形成万恶的嵌套金字塔,代码不易阅读;
3. 只能对应一个回调函数,在很多场景中成为一个限制。
评论