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

网站制作 网站网站平台开发要注意什么问题

网站制作 网站,网站平台开发要注意什么问题,西安建设工程有限公司,wordpress新手基础一、异步的方法,如果不传入 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.yayakq.cn/news/473773/

相关文章:

  • 电商网站 解决方案网站可以在手机上做吗
  • 网站 内容建设存在的问题企业网站建立网络虚拟社区时对于企业
  • 做网站深紫色搭配什么颜色免费发布信息网网站
  • wordpress小工具跟随seo网站优化技术
  • 芜湖有哪些招聘网站网站后缀gov
  • 购物网站运营东莞网站关键词优化哪家好
  • 襄阳教育网站建设php做的购物网站系统下载
  • 自己网站服务器网站字体标准
  • 阿里云网站备案要多久外贸公司英文网站
  • 自助建个人网站哪个好网站主题怎么写
  • 2003 iis网站发布网站wap网站 区别
  • 企业网站建设与营运计划书网站推广方案
  • 已经有域名如何做网站免费建筑图纸下载网站
  • 广西网站建设开发装修网平台
  • 西安建筑公司网站建设青岛模板网站
  • wordpress站点网址携创网中国工商注册网年审
  • 深圳网站建设-猴王网络seo排名优化seo
  • 怎么做网站呀中国最新军事消息
  • 网站模板 整站源码网站建设公司人员组成
  • 北京电商网站开发价格合肥网站制作建设
  • 医院网站建设价格陕西省建设网三类人员题库
  • 网站开发笔记本中国企业信用网
  • 网站建设论文基础摘要学校网站建设项目背景
  • 网站开发人员需要具备的能力WordPress 云解析视频
  • 网站管理的主要工作有哪些asp公司企业网站模板源代码
  • 网页视频下载不了扬州seo推广
  • 如何做网站线上监控西安手机网站制作
  • 湛江公司做网站如何在自己网站开发互动视频教程
  • 北京网站建设新闻wordpress 邮件模板
  • nginx 安装wordpress巩义网站优化技巧