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

Promise 入门

Meathill Web前端工程师
难度中级
时长 2小时 0分
学习人数
综合评分8.87
73人评价 查看评价
9.1 内容实用
8.9 简洁易懂
8.6 逻辑清晰
  • 一、

    new Promise(resolve => {
      setTimeout(() => {
        resolve('hello');
      }, 2000);
    })
      .then(value => {
        console.log(value);
        return new Promise(resolve => { // 自己用自己的回调
          setTimeout(() => {
            resolve('world');
          }, 2000)
        })
      })
      .then(value => {
        console.log(value + 'world');
      })


    查看全部
  • 一、

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


    查看全部
    0 采集 收起 来源:最简单的实例

    2018-05-31

  • 一、promise

    1、promise是一个代理对象,它和原先要进行的操作并无关系。

    2、它通过引入一个回调,避免更多的回调。

    二、promise的3个状态

    1、pending(待定):初始状态

    2、fulfilled(实现):操作成功

    3、rejected(被否决):操作失败

    三、promise状态发生改变,就会触发.then()里的响应函数处理后续步骤。

    promise状态一经改变,不会再变。

    四、

    new Promise(
      // 执行器executor
      function(resolve, reject) {
        // 一段耗时很长的异步操作
        resolve(); // 数据处理完成
        reject(); // 数据处理出错
      }
    ).then(function A() {
      // 成功,下一步
      }, function B() {
      // 失败,做相应处理
    })


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

    2018-05-31

  • 一、代码示例

    function findLargest(dir, callback) {
      fs.readdir(dir, function(err, files) {
        if(err) return callback(err);
      })
    }

    1、findLargest和fs.readdir属于不同的栈,执行到fs.readdir时,findLargest先出栈。

    (2)异步的问题

    ①因为异步回调函数会在新的栈中运行,所以这个栈中无法获取之前的栈的信息。之前的栈也无法捕获这个栈中的错误。所以异步回调开发中,无法用try...catch。

    ②无法判断异步文件什么时候完成,所以得在高级作用域链交给内层作用域,可能会被其他函数访问和修改,最终出现错误。

    3、异步回调的4个问题

    (1)嵌套层很深,难以维护。

    (2)无法正常使用return 和throw。

    (3)无法正常检索堆栈信息。

    (4)多个对调之间难以建立联系。


    查看全部
  • 一、javascript

    1、javascript为检查表单而生。

    2、创造它的首要目标是操作dom。

    3、javascript的操作大多是异步的。

    二、浏览器中的javascript

    1、异步操作以事件为主。

    2、回调主要出现在ajax和file api

    三、node.js

    1、无阻塞高并发,是Node.js的招牌。

    2、异步操作是其保障。

    3、大量操作依赖回调函数。


    查看全部
  • 一、promis/'prɑmɪs/

    1、promise用于异步计算。

    2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果。

    3、可以在对象之间传递和操作promise,帮助我们处理队列。

    二、aSuncat:有空百度一下express 与 koa 的区别。


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

    2018-05-31

  • promise实例一经创建,执行器立即执行

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

    2018-05-31

  • promise状态改变

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

    2018-05-31

  • promise的3个状态

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

    2018-05-31

  • promise初始化

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

    2018-05-31

  • 最简单的实例

    查看全部
    0 采集 收起 来源:最简单的实例

    2018-05-31

  • 测试笔记功能

    查看全部
    0 采集 收起 来源:then 的嵌套

    2018-05-28

  • .then()

    查看全部
    0 采集 收起 来源:引出 .then()

    2018-05-07

  • .then()函数:


    查看全部
    0 采集 收起 来源:引出 .then()

    2018-05-07

  • Promise3个状态:

    pending:待定

    fulfilled:实现

    rejected:被否决

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

    2018-05-07

举报

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

微信扫码,参与3人拼团

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

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