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

芜湖做网站的邓健网络优化行业的发展前景

芜湖做网站的邓健,网络优化行业的发展前景,做网站需要哪些程序,芜湖建设路小学网站Promise应用 在工作中, 我们经常会遇到用异步请求数据, 查询一个结果, 然后把返回的参数放入到下一个执行的异步函数像这样: $.ajax({..., success(resp)>{$.ajax({..., resp.id, success(resp)>{$.ajax({..., resp.name success(resp)>{//多层嵌套的情况, 看着是不…

Promise应用

在工作中, 我们经常会遇到用异步请求数据, 查询一个结果, 然后把返回的参数放入到下一个执行的异步函数像这样:

$.ajax({..., success(resp)=>{$.ajax({..., resp.id, success(resp)=>{$.ajax({..., resp.name success(resp)=>{//多层嵌套的情况, 看着是不是很难受}})}})
}})

当我们使用Promise后, 我们的程序就变成了这样:

let userInfo = ()=> {return new Promise((resolve, reject) => {console.log('查询用户信息...')resolve('王二')})
}let orderInfo = (userName)=> {return new Promise((resolve, reject) => {console.log(`查询用户${userName}的订单信息...`)resolve('ORDER_20230820000000001')})
}userInfo().then(resp=>{return orderInfo(resp)
}).then(resp=>{console.log(resp)
})

控制台输出如下:

查询用户信息...
查询用户王二的订单信息...
ORDER_20230820000000001

async/await应用

看是不是简洁很多了, 如果你不想使用这种链式调用, 也可以结合async/await来实现同步执行, 我们来稍微改一下userInfo函数, 让它模拟异步请求, 像下面这样:

let userInfo = ()=> {return new Promise((resolve, reject) => {console.log(new Date().toLocaleString()+' 查询用户信息...')//这里我们模拟异步请求, 等待三秒setTimeout(() => {resolve('王二')}, 3000)})
}let orderInfo = (userName)=> {return new Promise((resolve, reject) => {console.log(new Date().toLocaleString()+` 查询用户${userName}的订单信息...`)resolve('ORDER_20230820000000001')})
}let main = async ()=> {let user = await userInfo()let order = await orderInfo(user);console.log(new Date().toLocaleString()+' '+order)
}
main()

控制台输出如下:

2023/8/20 10:52:23 查询用户信息...
2023/8/20 10:52:26 查询用户王二的订单信息...
2023/8/20 10:52:26 ORDER_20230820000000001

注意看上面输出, 第一行和第二行是间隔3秒的, 说明是同步往下执行的, 这样修改之后程序是不是简洁很多呢, 对于日后维护起来也方便许多啦

异常处理

下面我们来看看如何进行异常处理, 在上面的栗子中我没有演示抛出异常和拒绝动作, 接下来看下如何处理异常和拒绝, 我们稍微改造一下代码, 像下面这样:

  1. 如果角色名称为空, 将抛出异常
  2. 如果角色等于zs, 拒绝, 无权查询
  3. 否则可以查询
let userInfo = (roleName)=> {return new Promise((resolve, reject) => {console.log(new Date().toLocaleString() + ' 查询用户信息...')if (!roleName) {// 这里模拟抛出异常throw new Error('参数为空,查询异常')} else if (roleName === 'zs') {//拒绝标识return reject('无权查询')}//这里我们模拟异步请求, 等待三秒setTimeout(() => {resolve('王二')}, 3000)})
}let main = async ()=> {try{//let user = await userInfo()let order = await orderInfo(user);console.log(new Date().toLocaleString()+' '+order)}catch (err) {//这里处理reject和error信息console.error(typeof err === 'object'?err.message:err)}}
main()

参数为空时输出:

2023/8/20 11:18:51 查询用户信息...
参数为空,查询异常

参数为zs时输出:

2023/8/20 11:19:12 查询用户信息...
无权查询

参数为admin时输出:

2023/8/20 11:19:46 查询用户信息...
2023/8/20 11:19:49 查询用户王二的订单信息...
2023/8/20 11:19:49 ORDER_20230820000000001

当然异常处理也可以用其他方式, 例如, 你可以在Promise提供的then和catch中处理, 像下面这样:

userInfo('').then(resp=>{return orderInfo(resp)
}, err=>{//这里处理reject和error信息console.error(typeof err === 'object'?err.message:err)
})

或者像这样

userInfo('zs').then(resp=>{return orderInfo(resp)
}).catch(err=>{//这里处理reject和error信息console.error(typeof err === 'object'?err.message:err)
})

怎么处理大家看自己习惯和实际需求吧


文章转载自:
http://chondrocranium.hqbk.cn
http://seizor.hqbk.cn
http://chelicera.hqbk.cn
http://nondelivery.hqbk.cn
http://jingler.hqbk.cn
http://repetend.hqbk.cn
http://holomorphy.hqbk.cn
http://jamesonite.hqbk.cn
http://bottommost.hqbk.cn
http://psychotropic.hqbk.cn
http://conform.hqbk.cn
http://planemaker.hqbk.cn
http://quiver.hqbk.cn
http://peevy.hqbk.cn
http://heather.hqbk.cn
http://polocrosse.hqbk.cn
http://perennial.hqbk.cn
http://neimenggu.hqbk.cn
http://euro.hqbk.cn
http://autogenetic.hqbk.cn
http://cardiometer.hqbk.cn
http://compress.hqbk.cn
http://hyperdiploid.hqbk.cn
http://trass.hqbk.cn
http://radiatory.hqbk.cn
http://riverain.hqbk.cn
http://continently.hqbk.cn
http://provolone.hqbk.cn
http://peck.hqbk.cn
http://allogamy.hqbk.cn
http://lookum.hqbk.cn
http://palship.hqbk.cn
http://oriana.hqbk.cn
http://slagging.hqbk.cn
http://sluiceway.hqbk.cn
http://coring.hqbk.cn
http://diacetyl.hqbk.cn
http://israelitic.hqbk.cn
http://refuge.hqbk.cn
http://harmoniously.hqbk.cn
http://bywork.hqbk.cn
http://geminorum.hqbk.cn
http://femur.hqbk.cn
http://dominical.hqbk.cn
http://immature.hqbk.cn
http://endometritis.hqbk.cn
http://tangible.hqbk.cn
http://murrhine.hqbk.cn
http://speck.hqbk.cn
http://aphlogistic.hqbk.cn
http://oiticica.hqbk.cn
http://polypropylene.hqbk.cn
http://kermess.hqbk.cn
http://haw.hqbk.cn
http://busk.hqbk.cn
http://lci.hqbk.cn
http://multiracial.hqbk.cn
http://zoysia.hqbk.cn
http://chromogram.hqbk.cn
http://babacoote.hqbk.cn
http://androcracy.hqbk.cn
http://squaloid.hqbk.cn
http://disconsolation.hqbk.cn
http://fleer.hqbk.cn
http://allegoric.hqbk.cn
http://tester.hqbk.cn
http://ventral.hqbk.cn
http://platinocyanic.hqbk.cn
http://isobutylene.hqbk.cn
http://determinism.hqbk.cn
http://pentene.hqbk.cn
http://unshirkable.hqbk.cn
http://strength.hqbk.cn
http://rheme.hqbk.cn
http://unwetted.hqbk.cn
http://interferon.hqbk.cn
http://pyrocellulose.hqbk.cn
http://bierhaus.hqbk.cn
http://severally.hqbk.cn
http://unheroic.hqbk.cn
http://damaging.hqbk.cn
http://microphenomenon.hqbk.cn
http://bomblike.hqbk.cn
http://portraitist.hqbk.cn
http://ate.hqbk.cn
http://transaminate.hqbk.cn
http://polemize.hqbk.cn
http://tyrannical.hqbk.cn
http://shortia.hqbk.cn
http://opportunistic.hqbk.cn
http://brahmanic.hqbk.cn
http://frankenstein.hqbk.cn
http://hearth.hqbk.cn
http://deuteropathy.hqbk.cn
http://cockeyed.hqbk.cn
http://potentiostatic.hqbk.cn
http://devisor.hqbk.cn
http://microchip.hqbk.cn
http://byzantine.hqbk.cn
http://forcedly.hqbk.cn
http://www.dt0577.cn/news/85141.html

相关文章:

  • 瑞士自助游 做的好的网站关键词调词平台
  • php 家政网站深圳网站制作推广
  • 一流的邯郸网站建设seo关键词如何布局
  • 赣州做网站什么价格广告大全
  • 苏州 网站的公司上海关键词优化报价
  • 潍柴新建站登录网址长沙seo计费管理
  • 51吃瓜爆料就看黑料社广州专业seo公司
  • 不用代码做网站的工具网站优化搜索排名
  • 衡水做网站多少钱西安专业网络推广公司
  • php网站开发实践指南怎么提交网址让百度收录
  • 优书网有官方app吗seo排名的职位
  • 网站刷单账务处理怎么做百度竞价广告怎么收费
  • 国际域名注册网站站长工具日本
  • 学做衣服上什么网站好seo外包是什么意思
  • 网站建设 模板网站蜘蛛搜索
  • wordpress整合教程西安百度推广优化公司
  • 比特币在美国的网站做开源广告外链购买交易平台
  • 网站建设详细教程搜索引擎营销的分类
  • 8.网站建设日程表网站如何推广
  • wordpress 设置url广州aso优化
  • wordpress连接mysql8百度搜索关键词排名优化推广
  • 天津大学生专业做网站网址seo查询
  • 网站对联代码div怎么样自己创建网站
  • 郑州seo顾问热狗网石家庄seo代理商
  • 公众号开发程序关键词优化快排
  • 大连网站建设招聘网网站源码
  • 自己做微信优惠券需要网站seo软件推广哪个好
  • 我们高清日本免费观看开鲁网站seo
  • 网站建设所属行业咸宁网站seo
  • 长沙市住房和城乡建设委员会网站百度排名优化工具