20.async和await(es7)

App.js

/** 
 *  async & await
 * 
 */

// async function myFunc(){
//   // return "Hello World!";

//   const promise = new Promise((resolve,reject) => {
//     setTimeout(() => resolve('Hello World!'),2000)
//   })

//   // 错误信息
//   const error = true;

//   if(!error){
//     // 等待resolve执行完毕之后,才会执行
//     const res = await promise;
//     return res;
//   }else{
//     await Promise.reject(new Error("error: 报错了!"));
//   }
// }

// // console.log(myFunc());

// myFunc()
//   .then(data => console.log(data))
//   .catch(err => console.log(err));

// 请求数据
async function getUsers(){
  const response = await fetch("http://jsonplaceholder.typicode.com/users");
  const data = await response.json();
  return data;
}

getUsers().then(users => console.log(users))

esay HTTP.JS

/**
 * 封装fetch
 * 更快,更简单的请求数据
 *
 * @version 1.0.0
 * @author  米斯特吴
 * @license MIT
 *
 **/

 class EasyHttp{
   // get 
   get(url){
     return new Promise((resolve,reject) => {
        fetch(url)
          .then(res => res.json())
          .then(data => resolve(data))
          .catch(err => reject(err))
     })
   }

   // post
   post(url,data){
    return new Promise((resolve,reject) => {
       fetch(url,{
         method:"POST",
         headers:{
           'Content-type':'application/json'
         },
         body:JSON.stringify(data)
       })
         .then(res => res.json())
         .then(data => resolve(data))
         .catch(err => reject(err))
    })
  }

  // put
  put(url,data){
    return new Promise((resolve,reject) => {
       fetch(url,{
         method:"PUT",
         headers:{
           'Content-type':'application/json'
         },
         body:JSON.stringify(data)
       })
         .then(res => res.json())
         .then(data => resolve(data))
         .catch(err => reject(err))
    })
  }

  // delete
  delete(url){
    return new Promise((resolve,reject) => {
       fetch(url,{
         method:"DELETE",
         headers:{
           'Content-type':'application/json'
         }
       })
         .then(res => res.json())
         .then(data => resolve('数据删除成功!'))
         .catch(err => reject(err))
    })
  }
 }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,056评论 3 119
  • 作为一个前端程序猿,下面这些站会让你眼前一亮。 amazeui框架组建丰富 http://amazeui.org...
    欧巴冰冰阅读 12,875评论 18 303
  • 北京2018年4月1日上午,NBA常规赛勇士客战国王的比赛中,发生了令人痛心不已的一幕。比赛进行到第三节还有41...
    Curry_宇阅读 5,031评论 1 1
  • Nyu阅读 1,360评论 0 0
  • 一次活动认识了Y。他过来咨询保险的事情,然后,约谈。谈了两个多小时。约好圣诞期间签单。却突发他老婆弟弟生意问题,他...
    米勒Li阅读 1,792评论 0 1

友情链接更多精彩内容