博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6中Promise封装ajax的写法
阅读量:6473 次
发布时间:2019-06-23

本文共 2708 字,大约阅读时间需要 9 分钟。

1.依赖jquery的写法可以使用下面的
(function($){        $.extend({            ajaxPromise:  param => {                return new Promise((resolve, reject) => {                    $.ajax({                        method: param.method || "GET",                        dataType: "JSON",                        url: param.url,                        data: param.data || "",                        success: res => {                            if (res.status == 1) {                                resolve(res.data);                            }                            else if (res.status == -1001) {                                console.log("需要登录");                            }                        },                        error: err => {                            if (err.status == 404) {                                console.log("404");                            } else {                                reject(err);                            }                        }                    })                })            }        })    })(jQuery);

 

2.如果不依赖jquery可以采用下面的写法

const ajaxPromise =  param => {        return new Promise((resolve, reject) => {            $.ajax({                type: param.type || "get",                url: param.url,                data: param.data || "",                success: res => {                    if(res.status == 1){                        resolve(res.data);                    }                    else if(res.status == -1001){                        alert("需要登录");                    }else{                    }                },                error: err => {                    if(err.status == 404){                        alert("404");                    }else{                        reject(err);                    }                }            })        })    };

  

使用jquery示例

  /*     第一个请求     */    let step1 = () => {        $.ajaxPromise({            url:"agents/get/2068957732939648",            data: {                "token":"f59e423eb75503f5609a0b9ba3b38db8083ad65078edb945b4c528fe6440b728"            }        }).then(res => {            console.log("第一个请求正确返回==>"+res);        }).catch(err => {            console.log("第一个请求失败",err);        })    };    /*     第二个请求     */    let step2 = () => {        $.ajaxPromise({            url:"http://staging.santezjy.com:1031/agents/get/2068957732939648",            data: {                "token":"f59e423eb75503f5609a0b9ba3b38db8083ad65078edb945b4c528fe6440b728"            }        }).then(res => {            console.log("第二个请求正确返回==>",res);        }).catch(err => {            console.log("第二个请求失败==>"+err);        })    };    step1();    step2();

  

转载于:https://www.cnblogs.com/tonnytong/p/10983246.html

你可能感兴趣的文章
重构数字世界的“马奇诺”新边界防御如何起死回生?
查看>>
Adobe携手上海视觉艺术学院 开展多项人才培养计划
查看>>
WSUS MITM远程攻击实战全过程详解
查看>>
全球互联网用户32亿 数据记录泄露36亿
查看>>
法国国家铁路利用IBM Watson物联网加速创新
查看>>
Xcode中Groups和Folder的区别
查看>>
android 实现倒影
查看>>
在php扩展开发中如何使用pkg-config
查看>>
【软考视频】数据结构
查看>>
YourSQLDba设置共享路径备份
查看>>
DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)
查看>>
hibernate总结-缓存
查看>>
(一三九)静态联编和动态联编
查看>>
Android 使用ViewPager实现类似gallery画廊的效果(画廊效果之ViewPager显示多个图片)...
查看>>
js和es6中常用的字符串方法总结(收藏)
查看>>
猪行天下之Python基础——3.2 列表 & 元组
查看>>
Http和Https
查看>>
Django使用Channels实现WebSocket--上篇
查看>>
Java 设计模式(三)《单例模式》
查看>>
个人博客
查看>>