当前位置: 首页 > news >正文

网站建设公司行业百度指数大数据分享平台

网站建设公司行业,百度指数大数据分享平台,个人网站备案如何取名称,邢台网络公司一、异步的方法,如果不传入 success、fail、complete 等 callback 参数,将以 Promise 返回数据异步的方法,且有返回对象,如果希望获取返回对象,必须至少传入一项 success、fail、complete 等 callback 参数&#xff0c…

一、异步的方法,如果不传入 success、fail、complete 等 callback 参数,将以 Promise 返回数据异步的方法,且有返回对象,如果希望获取返回对象,必须至少传入一项 success、fail、complete 等 callback 参数,列如:

 // 正常使用const task = uni.connectSocket({success(res){console.log(res)}})// Promise 化uni.connectSocket().then(res => {// 此处即为正常使用时 success 回调的 res// uni.connectSocket() 正常使用时是会返回 task 对象的,如果想获取 task ,则不要使用 Promise 化console.log(res)})

二、Vue 2 和 Vue 3 的 API Promise 化

PS:

  • Vue2 对部分 API 进行了 Promise 封装,返回数据的第一个参数是错误对象,第二个参数是返回数据。此时使用 catch 是拿不到报错信息的,因为内部对错误进行了拦截。
  • Vue3 对部分 API 进行了 Promise 封装,调用成功会进入 then 方法 回调。调用失败会进入 catch 方法 回调

Vue2:

// 默认方式
uni.request({url: "https://www.example.com/request",success: (res) => {console.log(res.data);},fail: (err) => {console.error(err);},
});// Promise
uni.request({url: "https://www.example.com/request",}).then((data) => {// data为一个数组// 数组第一项为错误信息 即为 fail 回调// 第二项为返回数据var [err, res] = data;console.log(res.data);});// Await
async function request() {var [err, res] = await uni.request({url: "https://www.example.com/request",});console.log(res.data);
}

Vue3:

// 默认方式
uni.request({url: "https://www.example.com/request",success: (res) => {console.log(res.data);},fail: (err) => {console.error(err);},
});// 使用 Promise then/catch 方式调用
uni.request({url: "https://www.example.com/request",}).then((res) => {// 此处的 res 参数,与使用默认方式调用时 success 回调中的 res 参数一致console.log(res.data);}).catch((err) => {// 此处的 err 参数,与使用默认方式调用时 fail 回调中的 err 参数一致console.error(err);});// 使用 Async/Await 方式调用
async function request() {try {var res = await uni.request({url: "https://www.example.com/request",});// 此处的 res 参数,与使用默认方式调用时 success 回调中的 res 参数一致console.log(res);} catch (err) {// 此处的 err 参数,与使用默认方式调用时 fail 回调中的 err 参数一致console.error(err);}
}

返回格式互相转换

Vue2

// Vue 2 转 Vue 3, 在 main.js 中写入以下代码即可
function isPromise(obj) {return (!!obj &&(typeof obj === "object" || typeof obj === "function") &&typeof obj.then === "function");
}uni.addInterceptor({returnValue(res) {if (!isPromise(res)) {return res;}return new Promise((resolve, reject) => {res.then((res) => {if (!res) {resolve(res);return;}if (res[0]) {reject(res[0]);} else {resolve(res[1]);}});});},
});

Vue3:

// Vue 3 转 Vue 2, 在 main.js 中写入以下代码即可
function isPromise(obj) {return (!!obj &&(typeof obj === "object" || typeof obj === "function") &&typeof obj.then === "function");
}uni.addInterceptor({returnValue(res) {if (!isPromise(res)) {return res;}const returnValue = [undefined, undefined];return res.then((res) => {returnValue[1] = res;}).catch((err) => {returnValue[0] = err;}).then(() => returnValue);},
});

http://www.shuangfujiaoyu.com/news/61403.html

相关文章:

  • 网站开发语言有哪些免费发帖推广网站
  • 做网站可以用哪些软件网络广告策划书范文
  • 流行的网站设计风格小说关键词搜索器
  • h5可以做网站吗vi设计公司
  • 个人网站介绍模板下载优化20条措施
  • 益韧建筑培训网seoapp推广
  • 如何查找同行网站做的外链自己怎么做网页推广
  • 徐州网站建设推广百度爱采购官方网站
  • 刚学做网站怎么划算武汉百度推广电话
  • 临海受欢迎营销型网站建设湖南网站推广
  • 司法局网站建设方案搜索引擎广告
  • 毕设做网站可以得高分吗色盲测试图免费测试
  • 杭州自适应网站建设百度百度一下你就知道主页
  • 做网站排名有用吗自助建站系统源码
  • 中小型网站建设与网络搭建广州网站到首页排名
  • 养殖场网站源码网络营销方法有哪些?
  • 不需要备案的服务器湖南正规关键词优化报价
  • 网站建设发展情况怎么免费注册域名
  • 网站建设栏目规划便宜的seo网络营销推广
  • 高新区手机网站建设如何建立一个自己的网站啊
  • h5自适应网站源码引流推广犯法吗
  • 做网站宽度网站交易平台
  • 做网站贵么seo在线培训机构排名
  • 如何做网站推广精nba排名榜
  • 如何给网站添加cnzzseo推广的全称是
  • 云盘做网站空间江苏seo团队
  • 强的网站建设徐州自动seo
  • 温州专业网站建设公司全媒体运营师报名费多少钱
  • 做a 免费网站有哪些在线培训网站
  • 孔家庄网站建设百度注册公司网站