美文网首页
异步并发与继发

异步并发与继发

作者: 小二子SAMA | 来源:发表于2019-04-12 16:19 被阅读0次
  1. 通过for... of...实现异步继发请求:
    for... of...zhi只有等上一个异步请求完成之后才能开启下一个异步请求
  2. 通过map实现异步并发请求:
    同时开启多个异步请求,将Promise保存在一个数组中,通过for of 配合await实现继发读取。
    应用:对于存在依赖关系的url内容请求等场景,可以使用该方式,并发请求多个url,节省了请求时间。
var promise = function(count)  {
        var tempPromise = new Promise((resolve, reject) => {
            console.log(count);
            setTimeout(() => resolve(`${count} : ${new Date().getSeconds()}`), 2000)
        })

        return tempPromise;
    }

    var arr = [1,2,3,4,5]

    async function logOut() {
        for (var i of arr) {
            const response = await promise(i);
            response.then()
        }
    }

    async function logOut2() {
        const textArr = arr.map(async i => {
            const response = await promise(i);
            // console.log(response)
            return response
        })

        for (var i in textArr) {
            console.log(await textArr[i])
        }
    }

logOut()的输出如下所示:


image.png

logOut2()的输入如下所示


image.png

相关文章

  • 异步并发与继发

    通过for... of...实现异步继发请求:for... of...zhi只有等上一个异步请求完成之后才能开启下...

  • 2018-01-02 async 函数要点

    async 函数 try catch 防止rejected 并发与继发

  • 多线程处理(问题使用方法)

    一、同步与异步、串行与并发: 首先我们要明白:什么是同步、异步?什么是并发、串行?同步、异步是提交任务的一种方式,...

  • ios GCD概述

    GCD 容易混淆的术语 同步/异步/并发/串行 同步和异步: 决定要不要开启新的线程 并发与串行 决定了任务的执行...

  • 10.1 并发(concurrency)和并行(parallel

    10.1 并发(concurrency)和并行(parallelism)区别问题一:并发与并行的区别? 异步和这小...

  • 侃侃高并发的实现原理

    为了更加形象的说明同步异步、阻塞非阻塞,我们以实物买奶茶来说明为例。 并发处理的前身 一:同步与异步 ①同步与异步...

  • 多线程GCD

    无序网络请求,异步+并发 有序网络请求,异步+并发(推荐) dispatch_semaphore_create:创...

  • 异步编程

    并发(concurrency)和并行(parallelism)区别 涉及面试题:并发与并行的区别? 异步和这小节的...

  • WWDC21-Swift并发

    swift语言中的并发介绍 wwdc21-认识Swift中异步与等待 wwdc21-结构化并发

  • 并发编程中必须知道的几个概念

    并发编程中下面的这些概念是非常关键的: 同步与异步 并行与并发 临界区 阻塞与非阻塞 死锁、活锁与饥饿 1. 同步...

网友评论

      本文标题:异步并发与继发

      本文链接:https://www.haomeiwen.com/subject/pdvcwqtx.html