为了账号安全,请及时绑定邮箱和手机立即绑定

Promise 入门

Meathill Web前端工程师
难度中级
时长 2小时 0分
学习人数
综合评分8.87
73人评价 查看评价
9.1 内容实用
8.9 简洁易懂
8.6 逻辑清晰
  • Catch
    查看全部
    0 采集 收起 来源:错误和then连用

    2018-10-12

  • console.log('go')
    Promise.all([1,2,3])
    .then(all => {
    console.log('1: ', all)//注意正确写法,console一个字符串一个数组,而不需要+号将二者连城字符串
    return Promise.all([()=>{
    console.log('oooo')//这里,因为三个参数都是非promise且非thenable的。all会默认执行promise.resolve将其转为promise状态,且resolved状态。而这个函数也只是数组第零项,如果不调用,里边的console也不会执行
    }, '0000', false]);
    })
    .then(all =>{
    console.log('2: ', all)
    // 这里原先写错为console.log('2: '+all),
    // 最后输出的是
    /* 2: ()=>{
       console.log('oooo')//这里,默认执行promise.resolve时,console是否执行?
     },0000,false */
    // 这么一个字符串了
    let p1 = new Promise(resolve=>{
    setTimeout(()=>{
    resolve('i,am p1');
    },1000)
    })
    let p2 = new Promise(resolve=>{
    setTimeout(()=>{
    resolve('i,m p2')
    }, 2000)
    })
    let p3 = new Promise((resolve,reject)=>{
    setTimeout(()=>{
    reject('i,m p3')
    }, 3000)
    })
    return Promise.all([p1,p2,p3]);
    })
    .then(all=>{
    console.log('end all:' + all)
    })
    .catch(err=>{console.log('Error: '+err)})
    // 自测答案
    // 立即执行
    // go
    // 1: [1,2,3]
    // * return [()=>{console.log('oooo')}, '0000', false]
    // 2: [()=>{console.log('oooo')}, '0000', false]
    // 3秒后
    // * return reject 'i,m p3'//(因为p1,p2,p3三个promise实例,在all中,因为p3是reject状态,all遇到后立马返回该reject状态和值)
    // console err i,m p3


    查看全部
    1 采集 收起 来源:Promise.all

    2018-10-11

  • 这点看不懂

    查看全部
    0 采集 收起 来源:随堂小测试

    2018-10-11

  • promise的new实例。基础用法

    查看全部
    0 采集 收起 来源:Promise 简介

    2018-09-27

  • 异步回调函数与前面的函数不处于同一个栈,所以不适用try catch 等上层检查机制。

    全局变量的污染问题。

    查看全部
  • Promise三个状态

    pending 初始

    fulfilled 操作成功

    rejected 失败

    查看全部
    0 采集 收起 来源:Promise 简介

    2018-09-10

  • forEach实现队列

    查看全部
    0 采集 收起 来源:实现队列

    2018-09-07

  • “回调地域”:嵌套层次很深,难以维护 

    无法正常使用return 和throw 

    无法正常检索堆栈信息 

    多个回调之间难以建立联系

    异步回调函数会在一个新的栈中运行

    查看全部
  • js 检查表单而生,操作DOM,异步操作能够避免窗格冻结,

    从观察者角度来看:AB工作完成顺序与交付他们的时间顺序无关,故为异步。

    事件的侦听与响应,回调函数,ajax代码

    node.js 无阻塞和高并发,异步操作是其保障,大量操作依赖回调函数

    查看全部
  • Promise
    查看全部
    0 采集 收起 来源:Promise 释义

    2018-08-30

  • reduce() 功能


    查看全部
    0 采集 收起 来源:实现队列

    2018-08-15

  • 知识点 要多复习

    查看全部
    0 采集 收起 来源:随堂小测试

    2018-08-15

  • then 里不返回 promise,而是返回 false, 结果:因为 then 没有返回 promise 实例,所以后面的函数先执行了。https://img1.sycdn.imooc.com//5b6d73a1000167ec03470435.jpghttps://img1.sycdn.imooc.com//5b6d73bb00014dfe03020115.jpg

    查看全部
  • https://img1.sycdn.imooc.com//5b6d70580001ed7e03380391.jpg结果应该是:https://img1.sycdn.imooc.com//5b6d70d300016fce05510125.jpg

    查看全部
  • 一、如果你需要在ie使用promise,有两个选择:

    1、只想实现异步队列:jQuery.defered

    2、需要兼容所有平台:Bluebird、 Promise polyfill

    二、fetch api

    1、fetch api是XMLHttpRequest的现代化替代方案。

    (1)更强大,也更友好。

    (2)直接返回一个promise实例。

    三、promise的支持情况


    查看全部
    0 采集 收起 来源:其它

    2018-07-25

举报

0/150
提交
取消
课程须知
1. 前端水平:初级、中级 2. 了解 JavaScript 3. 最好有异步开发经历,希望写出更好的代码
老师告诉你能学到什么?
1. Promise 的基础用法 2. Promise 容易出错的地方 3. Promise 怎么处理错误(Error) 4. Promise 的其它用法 5. 简单介绍异步函数

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!