fetch-promise

一. promise 对象html

  promise是ECMAscript 6 提供的构造函数, new Promise() 建立的对象表明了未来要发生的事件,它有以下特色:json

    1)状态一旦发生变化,就不受外界影响; 任什么时候候给Promise 对象添加回调函数,它都保持在这个状态promise

      其状态变化有如下两种形式:app

        pending(初始状态)  --> fulfilled(操做成功)异步

        pending --> rejected(操做失败)函数

    2)实例化的 promise 对象能够调用 .then() 和 .catch()方法接收 onFUlfilled 和 onRejected 状态的返回值post

  阮一峰大神的理解:fetch

    *有了Promise对象,就能够将异步操做以同步操做的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接           口,使得控制异步操做更加容易。
url

 

二.  fetch 发get 和 post 请求,返回的是一个promise对象spa

//1.发送get请求, 参数在url中拼接 var num = 1; fetch("/user/queryUser?page="+num+"&pageSize=5").then(res   =>res.json()).then(data =>{ console.log(data); $('#userBox').html(template('userTpl', {data: data}))   }).catch(err =>{    console.log(err);
})
//2.发送post 请求, 参数在 body中传递, 并且必须转换为字符串
 fetch('url', { method: 'post', //body: JSON.stringify(data),
 body: JSON.stringify({ name: 'nora', age: 18 }), headers : { 'Content-Type' : 'application/json' } }).then(res => res.json()).then(data =>{ //console.log(data);
                if(data.success) { location.reload() } }).catch(err =>{ alert(err); }) 
本站公众号
   欢迎关注本站公众号,获取更多信息