fetchメソッドパッケージ

3414 ワード

Fetch APIは、ネットワーク横断を含むリソースを獲得するインターフェースを提供する.XMLHttpRequestを使用したことのある人なら誰でもそれを熟知していますが、新しいAPIはより強力でより柔軟な機能セットを提供しています.API:https://developer.mozilla.org/zh-CN/docs/Web/API/Fetch_API
module.exports = {
    /*
     * params:
        let msg = {
            url: 'userApid',
            method: 'GET',
        }
     * 
    */
    http: function (msg) {
        let myHeaders = new Headers();
        let init = {
            method: msg.method,
            headers: myHeaders,
            mode: 'cors',
            cache: 'default'
        }
        return new Promise((resolve, reject) => {
            fetch('http://106.15.62.222:3001/' + msg.url, init).then((resolve) => {
                let retCode = resolve.status;
                // console.log(resolve);
                // return resolve.json();
                if (retCode === 200) {

                    return resolve.json()
                } else if (retCode === 404) {
                    alert(404)
                    //    
                }
                else if (retCode === 400) {
                    alert(400)
                    //         1   
                }
                else if (retCode === 500) {
                    alert(500)
                    //    
                }
                else if (retCode === 401) {
                    alert(401)
                    //    
                }
            }).then(data => {
                resolve(data);
            })
        })
    }
}