【14】前端实习:ES6---【promise浅析学习】

 

Promise 是什么

JAVASCRIPT 的异步操作

  • JavaScript为检验表单而生
  • 创造它的首要目标是操作DOM
  • 异步的好处是避免页面卡死(冻结)

 

Promise详解

  • promise是一个代理对象,他和原先要进行的操作并无关系
  • 他通过引入一个回调,从而避免更多的回调

Promise 第一个简单实例:定时器

//新创建一个Promise实例
new Promise(
   resolve => {
    setTimeout(() = >{
    resolve("hello");
   },2000);
})
.then(value = >{
    console.log(value + 'world');
})
    

Promise 第二个简单实例:定时执行


new Promise(resolve => {
  setTimeout(()=> {
    resolve("hello");
  },2000);
}).then(value => {
  console.log(value)
  return new Promise( resolve => {
    setTimeout( () => {
      resolve("this")
    },2000);
  });
}).then(value => {
  console.log(value + 'world');
})

//输出:
hello
this world

 Promise 第三个简单实例:没有直接返回promise对象的情况

//如果没有直接返回promise对象的情况
new Promise(resolve => {
  setTimeout(()=>{
    resolve("hello");
  },2000);
}).then(value => {
  console.log(value)
  (function(){
    retrun new Promise(resolve =>{
      setTimeout(() => {
        console.log("nihao");
        resolve("beautiful");
      }, 1000);
    })
  }());
  return false;
}).then(value => {
  console.log(value + 'world');
})

/*输出
*hello
*false world
*nihao
/

错误处理

Promise会自动捕获内部异常,并交给rejected响应函数处理

例子:


new Promise((resolve,reject) => {
  setTimeout( () => {
    reject("bye");
  },1000);
}).then(value => {
  console.log(value);
},value => {
  console.log('error:', value);
});
//输出
erro: bye

 

Promise常用函数

1.promise.all()

2.promise.map()

找到最大文件的算法  https://www.imooc.com/video/16622

3.实现队列

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值