Promise异步编程

当我们用$.ajax去请求有依赖的多个数据的时候,代码编写会形成漏斗形状的结构,代码可读性差,可以使用es6提供的Promise

promise概述: Promise是异步编程的一种解决方案,从语法上讲,Promise是一个对象,从它可以获得异步操作的消息

使用promise有以下好处: 

   可以避免多层异步调用嵌套问题(回调地狱);

 promise对象提供了简洁的API.使得控制异步操作变得更容易

 promise:承诺,在es6中promise可以解读为承诺将来会执行

  <script type="text/javascript"> 
    var p = new Promise(function(resolve,reject){
        setTimeout(function(){
            var flag = true;
            if(flag){
                resolve("hello");
            }
            else{
                reject("caonima");
            }
        },100);
    });
    p.then(function(data){
        console.log(data)
    }),
    function(info){
        console.log(info)
    }
    </script>

fetch api

fetch api 是基于promise的,可以认为它是一个ajax的升级版

原文地址:https://www.cnblogs.com/wsm777/p/13624875.html