发表于: 2017-04-19 23:30:22
3 1181
今天完成的事情:写好了任务十的css和html
明天计划的事情:准备小课堂,继续任务10
遇到的问题:
时间过得很快,回首这几天,却发现并没有做太多的事情,学习效率不像刚来修真院那么高了。
没有静下心来,一个不了解的知识,总是急于求成。用起来是那样,能达到效果就行了。最后似懂非懂,没有认真搞清楚背后的原理。
要调整好心态,心无旁骛,一心学习,好好规划每天的时间,提高效率,用有限的时间做更多的事情,不要空耗生命。
鼠标的设计不符合人体工程学,点的手指疼,得换个鼠标了。
一开始没弄清任务10到底要做什么:
任务10,需要向后台上传数据,可以是职业信息,或者是公司信息。 职业是附属于公司的,只能在对应的公司里面加入。
收获:
看了一篇博客,讲的关于promise的用法:
Promise是一个构造函数,可以用来实现异步操作,有all、reject、resolve这几个方法。
下面是个例子:
var p = new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成');
resolve('随便什么数据');
}, 2000);
});
这只是定义了个对象,并没有调用它,但里面的函数还是会执行。
所以用Promise的时候一般是包在一个函数中,在需要的时候去运行这个函数:
function runAsync() {
var p = new Promise(function (resolve, reject) {
//做一些异步操作
setTimeout(function () {
console.log('执行完成');
resolve('随便什么数据');
}, 2000);
});
return p;
}
runAsync();
在runAsync()的返回上直接调用then方法,then接收一个参数,是函数,并且会拿到在runAsync中调用resolve时传的的参数。
runAsync().then(function(data){
console.log(data);
//后面可以用传过来的数据做些其他操作
//......
});
链式操作,结构十分清晰简洁:
runAsync1()
.then(function (data) {
console.log(data);
return runAsync2();
})
.then(function (data) {
console.log(data);
return runAsync3();
})
.then(function (data) {
console.log(data);
});
下面是runAsync1、runAsync2、runAsync3的函数:
function runAsync1() {
var p = new Promise(function (resolve, reject) {
//做一些异步操作
setTimeout(function () {
console.log('异步任务1执行完成');
resolve('随便什么数据1');
}, 1000);
});
return p;
}
function runAsync2() {
var p = new Promise(function (resolve, reject) {
//做一些异步操作
setTimeout(function () {
console.log('异步任务2执行完成');
resolve('随便什么数据2');
}, 2000);
});
return p;
}
function runAsync3() {
var p = new Promise(function (resolve, reject) {
//做一些异步操作
setTimeout(function () {
console.log('异步任务3执行完成');
resolve('随便什么数据3');
}, 2000);
});
return p;
}
评论