zoukankan      html  css  js  c++  java
  • ES6中Fetch的封装及使用,炒鸡简单~

    之前写过一篇《ajax、axios、fetch之间的详细区别以及优缺点》 戳这里

    1.封装 (http.js)

    class Ajax {
      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, data) {
        return new Promise((resolve, reject) => {
          fetch(url, {
              method: 'DELETE',
              headers: {
                'Content-type': 'application/json'
              },
              body: JSON.stringify(data)
            })
            .then(res => res.json())
            .then(data => resolve('数据删除成功!'))
            .catch(err => reject(err))
        })
      }
    }
    export default new Ajax();//ES6导出

    2.调用

    import http from "./http.js"//引入方式 这里用的是ES6的方法,需要babel配合webpack打包
    //普通引入使用src引入之后  const http = new Ajax();   即可
    // get请求数据
    http.get('http://jsonplaceholder.typicode.com/users')
      .then((data) => {
        console.log(data)
      })
      .catch(err => console.log(err))
    
    // post传输数据
    const data = {
      name: 'candy',
      username: 'candy',
      email: 'htmlcs@163.com'
    };
    //post user
    http.post('http://jsonplaceholder.typicode.com/users', data)
      .then(data => console.log(data))
      .catch(err => console.log(err))
    
    // update user ,修改后会发现修改后ID为2的数据会变成上页面定义的data
    http.put('http://jsonplaceholder.typicode.com/users/2', data)
      .then(data => console.log(data))
      .catch(err => console.log(err))
    
    
    //delete user 删除下标为2里的数据  
    
    http.delete('http://jsonplaceholder.typicode.com/users/2', data)
      .then(data => console.log(data))
      .catch(err => console.log(err)) 

    这里有324.57GB的修仙资料。嘿嘿嘿你懂得。/手动狗头
    前端入坑全套教学视频
    那么问题来了,如果你也想入坑前端或者学习更多技术,广交天下朋友(基友),认识更多有趣的灵魂的话,欢迎加入前端交流群鸭~
    扫码加群哦
    扫二维码加为好友就完事了!安排~

  • 相关阅读:
    游戏中的View开发
    下载更新包,并且在任务栏提示进度.
    调用android非unbind的服务中的方法(不使用bindService启动的服务)
    判断android系统中Service是否在运行的方法
    如何从Activity中调用Service中的方法
    android官方文档---应用程序基础---服务的理解(app Component---services)
    怎么通过文件名的String,找到对应的资源ID
    疯狂Java之JDBC 笔记
    android应用将json数据打包在本地,进行读取的代码
    STL 堆的使用
  • 原文地址:https://www.cnblogs.com/twodog/p/11986168.html
Copyright © 2011-2022 走看看