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

数据网站有哪些南京响应式网站建设

数据网站有哪些,南京响应式网站建设,短视频行业的发展趋势,河北省城乡与住房建设厅网站最近在公司实习写的是es5,在和回调地狱经过一番拉扯之后写下这篇文章,也算是体验了一把没有promise的时代 假设我们的div有一个日历列表,但是由于大小关系只能每次显示2天的信息,项目限制只能使用es5,不能使用es6的pro…

最近在公司实习写的是es5,在和回调地狱经过一番拉扯之后写下这篇文章,也算是体验了一把没有promise的时代
假设我们的div有一个日历列表,但是由于大小关系只能每次显示2天的信息,项目限制只能使用es5,不能使用es6的promise,且后端给我们的接口只能每次请求一个具体日期的数据
例如

getDateInfo(2023,7,26)//return
{
date:'12',
lunar:'五月廿五',
weekday:'周六'
}

在这里插入图片描述
现在的需求是首屏加载2个item,有些人会觉得这还不简单吗,先请求第一个,再在回调里面请求第二个
确实如此,那假如我们有20个,200个item呢,就会掉入回调地狱,还有一个问题就是前面的请求失败会导致后面的请求无法执行(即使后面的请求单独可用)

那么此时我们就需要

并发请求

首屏加载的onload中同时请求两次

getListItem(date) {var success = function(res) {console.log(res.date)//更新数据和视图
}
getDateInfo(2023,7,date,success)
getDateInfo(2023,7,date+1,success)
}getListItem(date)

那么新的问题来了,我们的日期列表需要按顺序展示,但是我们本地的数组是通过请求回来再在回调里存到数组中的,
由于网络的不可控性,我们不知道哪个请求会先被返回回来,那么如何保证顺序呢

错误做法:

使用闭包传参,在回调中用参数当索引修改数组,例如上面传的date和date+1,因为在执行回调的时候所有同步代码已经执行完毕,既然传的是同一个回调函数的地址,那么找到的是同一个作用域,里面的date已经递增完毕,所以所有回调取到的都是date+1,也就是最后一个传入值

es5保证回调顺序的两种正确方式

1.接口返回我们传入的参数,或者能当作顺序标识符号的属性,例如id,然后我们在给数组赋值的时候,对id做处理得出数据先后顺序的索引index,再用arr[index]为数组赋值,因为是返回的数据,所以总能取到正确的值,这种方式要求接口要返回对应的标识或者顺序属性,不过绝大部分接口都会有

2.给每一个请求传入不同的回调函数(引用地址不同),例如

var success1 = function(res) {console.log(res.date)//更新数据和视图
}
var success2 = function(res) {console.log(res.date)//更新数据和视图
}
getDateInfo(2023,7,date,success1)
getDateInfo(2023,7,date+1,success2)

那么我们就可以在各自的回调函数中写入固定的索引去更新数据和视图,而不是使用index这种变量作为索引,但是这种方式会增加代码量,会产生许多重复的冗余代码

如果有别的可以保证返回顺序的方式,欢迎评论区讨论

本文由Escaay原创,转载请注明出处

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

相关文章:

  • 引物在线设计网站谷歌广告推广网站
  • 邯郸哪个公司做网站好外包公司是什么意思
  • 怎么提交自己的网站高端快速建站
  • 有没有专门做团购的网站seo管理系统培训
  • 可以上传视频的网站建设网站建设seo优化培训
  • 网站建设需要哪些技术今日新闻头条官网
  • 网站设计的收费软件开发定制
  • 建设赌博网站网络营销的职能有哪些
  • 长宁苏州网站建设公司关键词全网搜索指数
  • 使用wordpress的购物网站web免费网站
  • 用易语言做抢购网站软件下载郑州谷歌优化外包
  • 网页游戏大全排行榜seo包括哪些方面
  • 山东建设机械协会官方网站郑州网络营销哪个好
  • 网站首页qq在线咨询js微信营销工具
  • 制作的大型网站多少钱推广赚钱软件排行
  • 增长超人做网站多少钱百度点击软件
  • 合肥市网站建设深圳seo优化外包
  • 网站伪静态怎么做互联网营销培训
  • 如何做视频网站不侵权视频号关键词搜索排名
  • 网站模板 茶叶响应式在百度上怎么卖自己的产品
  • 做淘宝客没有网站怎么做网站模板源码
  • 网页界面设计中主要包括哪三个方面厦门seo俱乐部
  • 做跨境电商网站的意义打广告推广怎么做
  • 基于java的小说网站开发梅花seo 快速排名软件
  • 开发企业网站多少钱阿里云搜索引擎网址
  • 做微信营销网站建设百度网页推广怎么做
  • 网站如何做搜索功能的mac日本官网入口
  • 营销型网站建设有哪些建站流程如何在互联网推广自己的产品
  • 网站运营目的需要多少钱
  • 商洛市商南县城乡建设局网站运营推广计划