首页 > 其他分享 >js 并发

js 并发

时间:2024-08-02 11:40:45浏览次数:15  
标签:count index const request results js 并发 let

function concurRequest(maxnum) {
      return new Promise((resolve, reject) => {
        let index = 0
        let count = 0
        const results = []
        async function request() {
          const i = index
          const url = urls[index]
          index++
          try {
            const resp = await fetch(url)
            results[i] = resp
          } catch (err) {
            results[i] = err
          } finally {
            count++
            if (count === urls.length) {
              resolve(results)
            }
            if (index < urls.length) {
              request()
            }
          }

        }
        for (let i = 0; i < maxnum; i++) {
          request()
        }
      })
    }
    concurRequest(3).then(res => {
      console.log(res)
    })

 

标签:count,index,const,request,results,js,并发,let
From: https://www.cnblogs.com/howhy/p/18338410

相关文章

  • uni-app h5 使用微信JSSDK的方式
    综合各方经验及文档总结了以下我的使用方法,希望对有需要的同学有些帮助第一步:npminstalljweixin-module--save第二步:common文件夹新建js文件,我这里命名jwx.js jwx.js文件内容varjWeixin=require('jweixin-module');exportdefault{//判断是否在微信中......
  • JS性能评估的一般要求
    一般性能评估原则用户体验:响应时间:对于前端应用,用户界面通常需要在100毫秒内响应用户操作,以确保界面交互的流畅性。因此,任何操作若能在几毫秒内完成,并且不会阻塞主线程,则一般算作性能良好。流畅性:例如,对于需要保持流畅动画的应用,60帧每秒(每帧大约16.67毫秒)的刷新频率是一个......
  • js日期时间前端转换
    //转换列值//数据库表字段是datetime(2,7)transformColumnValue(scope,column){consttype=column.type;letvalue=scope.row[column.property.dataField.value];console.log('value',value,Date.parse(value),newDate(Date.parse(va......
  • 一句JS代码,实现随机颜色的生成
    今天我们只用一句JS代码,实现随机颜色的生成,首先看一下效果:每次刷新浏览器背景颜色都不一样实现此效果的JS函数 :letrandomColor=()=>...:定义一个箭头函数randomColor,用于生成一个随机颜色。Math.random():生成一个0到1之间的随机数。Math.random()*0xffff......
  • 15. 序列化模块json和pickle、os模块
    1.序列化模块 1.1序列化与反序列化(1)序列化将原本的python数据类型字典、列表、元组转换成json格式字符串的过程就叫序列化(2)反序列化将json格式字符串转换成python数据类型字典、列表、元组的过程就叫反序列化(3)为什么要序列化计算机文件中没有字典这种数据类型,将字典中......
  • js reduce 根据sku属性生成sku
    如何使用JavaScript中的reduce函数来生成SKU属性的SKU。SKU(StockKeepingUnit)通常用于唯一标识商品或库存。假设你有一个包含商品属性的数组,例如:constproperties=[{name:'颜色',value:'红色'},{name:'尺寸',value:'XL'},{name:'材质',valu......
  • js slice 截取数组使用
    slice()是JavaScript中用于提取数组的一部分或字符串的一部分的方法。slice()不会修改原始数组或字符串,而是返回一个新数组或字符串。对于数组语法:array.slice(begin,end)begin:要提取的起始索引(包含)。如果省略,默认从索引0开始。end:要提取的结束索引(不包含)。如果省略......
  • js splice使用,增删数组操作方式
    splice是JavaScript数组对象的一个方法,用于增删数组中的元素。它的基本语法如下:array.splice(start,deleteCount,item1,item2,...)start:指定开始修改的位置索引。deleteCount:可选,指定要删除的元素个数。如果为0,则不删除元素,只插入新元素。item1,item2,...:可选,要插......
  • js 如何拍平一个对象
    在JavaScript中,你可以使用递归或一些现成的库来实现对象的扁平化。如果你希望手动实现,可以考虑以下方法之一:递归方法:functionflattenObject(obj,prefix=''){returnObject.keys(obj).reduce((acc,key)=>{constpre=prefix.length?prefix+'.':......
  • lodash get 使用,js如何实现lodash get
    lodashgetlodash的get方法,它主要用于安全地访问对象的属性,避免因为中间属性不存在而导致的异常。这个方法可以按照指定的路径获取对象的属性值。比如,假设有一个对象user,包含了name和address属性,你可以这样使用get方法:const_=require('lodash');constuser={......