美文网首页
ES6的Promise-解决回调地狱

ES6的Promise-解决回调地狱

作者: 雪映月圆 | 来源:发表于2019-03-10 19:57 被阅读0次

如下面一段代码:

function demo(){
    setTimeout(function(){
        console.log(1);
    }, 0);
}
demo();
console.log(2);
//会先打印2,再打印 1,如何让它先打印 1, 再打印 2呢?

通过ES6的Promise对象来解决:

function demo(){
    return new Promise(function( resolve, reject){
        setTimeout(function(){
            console.log(1);
            resolve("我打印完了,可以继续向下执行了");
        });
    });
}

demo().then(function( msg ){
    console.log( msg );
    console.log(2);
});

介绍

一个 Promise 对象可以理解为一次将要执行的操作(常常被用于异步操作),使用了 Promise 对象之后可以用一种链式调用的方式来组织代码,让代码更加直观。

Promise 对象中有两个重要方法————resolve 和 reject。
resolve 方法可以使 Promise 对象的状态改变成成功,同时传递一个参数用于后续成功后的操作
reject 方法则是将 Promise 对象的状态改变为失败,同时将错误的信息传递到后续错误处理的操作。
Promise基本语法
function fun(){
     return new Promise(function(resolve,reject){
          // 根据情况:resolve()或reject()
     });
}
fun().then(suc,err)
//suc和err均为回调函数

相关文章

  • ES6的Promise-解决回调地狱

    如下面一段代码: 通过ES6的Promise对象来解决: 介绍 一个 Promise 对象可以理解为一次将要执行的...

  • 10 ES6 优化回调地狱、promise化、async+awa

    ES6 Promise可解决回调地狱、try{}catch{}、同步并发的异步问题,但解决回调地狱问题中依旧有很明...

  • promise和async

    Promise 回调地狱 Promise概念 Promise是ES6中新增的一个构造函数。 目的解决回调地狱的问题...

  • Promise&async await

    Promise: ES6 新增的语法,是异步问题同步化解决方案 ,同时解决了回调地狱的问题; Promise解决:...

  • 回调地狱问题

    使用promise(es6中api)来解决回调地狱的问题。promise1、promise本身不是异步任务但是内部...

  • Promise

    1.为什么需要Promise 回调地狱回调函数中嵌套回调Promise解决了回调地狱 2. Promise 的基本...

  • ES6快速学习(七)Promise

    回调函数 Promise 解决了什么痛点 回调地狱 代码如下 我的第一个Promise使用 解决回调地狱之链式...

  • 使用$.when实现异步调用的链式写法

    解决回调地狱的问题

  • Promise初体验

    ES6中推出了一种新的异步编程的方案,可以解决回调嵌套过深(俗称回调地狱)导致阅读性差,难以维护的问题,如下: 先...

  • Promise.all 的缺陷

    前言 Promise 是 es6 新出的语法,用来处理异步请求,解决之前没有 Promise 时的回调地狱。Pro...

网友评论

      本文标题:ES6的Promise-解决回调地狱

      本文链接:https://www.haomeiwen.com/subject/nacppqtx.html