美文网首页
20.async和await(es7)

20.async和await(es7)

作者: Night_LION | 来源:发表于2018-06-06 22:44 被阅读0次

    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))
        })
      }
     }
    

    相关文章

      网友评论

          本文标题:20.async和await(es7)

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