发表于: 2017-04-19 23:30:22

3 1183


今天完成的事情:写好了任务十的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;
}



返回列表 返回列表
评论

    分享到