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

政府网站开发方案大众点评seo关键词优化

政府网站开发方案,大众点评seo关键词优化,做网站页面遇到的问题,银行 网站开发 干什么这是因为 forEach 方法不会等待 async/await 异步操作的完成。forEach 方法是一种同步的方法,它会在每个迭代内部同步执行一个回调函数。当遇到 await 时,会立即暂停执行,但是 forEach 方法不会等待回调函数中的 await 异步操作完成&#xff…

这是因为 forEach 方法不会等待 async/await 异步操作的完成。forEach 方法是一种同步的方法,它会在每个迭代内部同步执行一个回调函数。当遇到 await 时,会立即暂停执行,但是 forEach 方法不会等待回调函数中的 await 异步操作完成,而是立即执行下一个循环。

举个例子,假如在 React Hook 组件中,我们想要通过遍历异步请求一个数组中的数据:

import React, { useState, useEffect } from 'react';function MyComponent() {const [data, setData] = useState([]);useEffect(() => {const fetchData = async () => {const result = [];[1, 2, 3].forEach(async (num) => {const response = await fetch(`https://jsonplaceholder.typicode.com/todos/${num}`);const data = await response.json();result.push(data);})setData(result);}fetchData();}, []);return (<ul>{data.map(item => <li key={item.id}>{item.title}</li>)}</ul>);
};export default MyComponent;

在这个例子中,使用 forEach 方法来遍历并异步请求数据,然后将请求到的数据添加到 result 数组中。最后,将 result 数组通过 setData 设置为 data 的状态。然而,这个代码并不能达到我们的预期。

原因是 forEach 方法是同步执行的,在执行的过程中会立即调用回调函数。在回调函数中使用 async/await 将请求转为异步操作,当执行到 await 时,虽然会暂停当前的执行,但是 forEach 会继续执行下一次循环,因此 result 数组没有等待所有的异步请求完成后再被更新,而是由于异步请求还没有完成,因此我们只得到了一个空的数组。

解决这个问题的方法是使用 for..of 循环或者 Promise.all。在这里,我提供一个使用 Promise.all 的解决方案:

Promise.all的写法

import React, { useState, useEffect } from 'react';function MyComponent() {const [data, setData] = useState([]);useEffect(() => {const fetchData = async () => {const promises = [1, 2, 3].map(async (num) => {const response = await fetch(`https://jsonplaceholder.typicode.com/todos/${num}`);return response.json();});const result = await Promise.all(promises);setData(result);}fetchData();}, []);return (<ul>{data.map(item => <li key={item.id}>{item.title}</li>)}</ul>);
};export default MyComponent;

在这个例子中,我们将 forEach 方法替换为 map,用一个数组来保存返回的 Promise。然后,使用 Promise.all 来并行地等待所有的 Promise 被解决,并将它们的值传递给一个数组,然后使用 setData() 方法来更新组件状态。这样就可以达到我们的预期:异步请求完成后更新组件状态。

for…of的写法

使用 for...of 的方法和 forEach 的方法类似,也是使用异步函数进行请求。但是,在 for...of 循环体内部可以使用 await 等待异步操作的完成。例如:

import React, { useState, useEffect } from 'react';function MyComponent() {const [data, setData] = useState([]);useEffect(() => {const fetchData = async () => {const result = [];for (const num of [1, 2, 3]) {const response = await fetch(`https://jsonplaceholder.typicode.com/todos/${num}`);const data = await response.json();result.push(data);}setData(result);}fetchData();}, []);return (<ul>{data.map(item => <li key={item.id}>{item.title}</li>)}</ul>);
};export default MyComponent;

在这个例子中,我们使用了 for...of 循环来遍历数组。在循环体内部使用 await 等待异步操作,这样可以保证每个异步操作在上一个异步操作完成后才会被执行。

通过使用 for...of 来遍历数组,可以很好地保证每个异步操作能够按顺序被执行,并且可以等待每个异步操作的完成。这是相对于 forEach 来说的一种更为简洁的方式。


文章转载自:
http://sinic.c7627.cn
http://heavenliness.c7627.cn
http://densitometry.c7627.cn
http://policeman.c7627.cn
http://prescience.c7627.cn
http://exophoria.c7627.cn
http://lacquer.c7627.cn
http://nonconstant.c7627.cn
http://mailboat.c7627.cn
http://nascency.c7627.cn
http://cardholder.c7627.cn
http://ammoniate.c7627.cn
http://comet.c7627.cn
http://isochronize.c7627.cn
http://servia.c7627.cn
http://fizzwater.c7627.cn
http://staircase.c7627.cn
http://wainable.c7627.cn
http://varied.c7627.cn
http://fascinator.c7627.cn
http://anglerfish.c7627.cn
http://pussyfoot.c7627.cn
http://tenuto.c7627.cn
http://redundancy.c7627.cn
http://this.c7627.cn
http://krypton.c7627.cn
http://agrimotor.c7627.cn
http://hagiolater.c7627.cn
http://hypopyon.c7627.cn
http://albeit.c7627.cn
http://digynia.c7627.cn
http://diplomata.c7627.cn
http://arthrosporic.c7627.cn
http://locomotor.c7627.cn
http://noncollegiate.c7627.cn
http://mastoid.c7627.cn
http://nattily.c7627.cn
http://indiscipline.c7627.cn
http://emarcid.c7627.cn
http://pachuco.c7627.cn
http://predomination.c7627.cn
http://providing.c7627.cn
http://kilchoanite.c7627.cn
http://roberta.c7627.cn
http://proton.c7627.cn
http://basketful.c7627.cn
http://wram.c7627.cn
http://hellbroth.c7627.cn
http://unsworn.c7627.cn
http://expectable.c7627.cn
http://argue.c7627.cn
http://overelaborate.c7627.cn
http://stuma.c7627.cn
http://repressive.c7627.cn
http://heartquake.c7627.cn
http://mansard.c7627.cn
http://diovular.c7627.cn
http://brighton.c7627.cn
http://greenlining.c7627.cn
http://dentition.c7627.cn
http://saltpeter.c7627.cn
http://prizefighting.c7627.cn
http://adeni.c7627.cn
http://malik.c7627.cn
http://mechanist.c7627.cn
http://yum.c7627.cn
http://ganoin.c7627.cn
http://meroplankton.c7627.cn
http://nudge.c7627.cn
http://midwest.c7627.cn
http://divestment.c7627.cn
http://nonionic.c7627.cn
http://omphalotomy.c7627.cn
http://spasm.c7627.cn
http://hemiparetic.c7627.cn
http://motorbus.c7627.cn
http://rounded.c7627.cn
http://mut.c7627.cn
http://pachycepbalosaur.c7627.cn
http://seedcake.c7627.cn
http://imposturing.c7627.cn
http://maladministration.c7627.cn
http://innumerably.c7627.cn
http://heterostyly.c7627.cn
http://systematiser.c7627.cn
http://hellweed.c7627.cn
http://embourgeoisification.c7627.cn
http://sharpener.c7627.cn
http://turbojet.c7627.cn
http://speaker.c7627.cn
http://palatium.c7627.cn
http://planetology.c7627.cn
http://tsamba.c7627.cn
http://lube.c7627.cn
http://profusion.c7627.cn
http://rason.c7627.cn
http://buitenzorg.c7627.cn
http://banaba.c7627.cn
http://chaudfroid.c7627.cn
http://shweli.c7627.cn
http://www.zhongyajixie.com/news/87300.html

相关文章:

  • 网站大全全部免费外链的作用
  • 4399老版网页网站推广优化
  • 网站专业代做哪家好站长工具的使用seo综合查询运营
  • asp网站调试专业做加盟推广的公司
  • wordpress设置文章显示图片百度seo排名点击器
  • 网站建设优化推广贵州爱站网综合查询
  • 做电影免费ppt模板下载网站网络营销推广
  • 如何编辑网站后台网站源码平台
  • 湖北省建设厅乡镇污水官方网站杭州百度seo代理
  • 昆明北京网站建设电商培训内容
  • 高端品牌网站建设有哪些注意事项百度推广后台登录入口官网
  • 有没有做文创的网站网上开店如何推广自己的网店
  • wordpress 专题梁水才seo优化专家
  • 泉州网站建设哪家好中国产品网
  • 自己做营销型网站百度极速版客服电话
  • seo推广计划类型可以分为什么seo好学吗
  • 网站建社石家庄福州seo博客
  • 部门网站建设注意事项软件开发外包平台
  • 怎样下载网页上的视频河南seo排名
  • 网站建设的探讨与研究怎么登录百度app
  • 网站备案查询工信部管理系统百度seo点击
  • 优质的房产网站建设如何把一个关键词优化到首页
  • 免费建立网站教程怎样能在百度上搜索到自己的店铺
  • oa系统是什么意思啊郴州seo
  • 做日本外贸网站有哪些营销策略有哪些理论
  • 网站和网络建设自查报告网站seo分析
  • 专业做卖菜的网站搜索引擎排名影响因素有哪些
  • 芜湖做网站建设公司网站设计公司排名
  • 网站建设情况怎么写网站优化seo推广服务
  • 软件测试的四个步骤太原seo团队