在async函数中并发异步执行

async function f1() {

return new Promise((resolve, reject) => {

setTimeout(() => {

console.log(‘5000ms passed‘);

resolve()

}, 5000)

})

}

async function f2() {

return new Promise((resolve, reject) => {

setTimeout(() => {

console.log(‘1000ms passed‘);

resolve()

}, 1000)

})

}

async function test() {

// 使f1,f2并发异步执行

const r1 = f1()

const r2 = f2()

console.log(await r1);

console.log(await r2)

// 同步

const r1 = await f1()

const r2 = await f2()

console.log(r1);

console.log(r2);

}

test()

原文地址:https://www.cnblogs.com/eret9616/p/12128067.html

时间: 2024-10-30 05:30:00

在async函数中并发异步执行的相关文章

Delphi中ADO异步执行方式

当ADO开始处理数据后,应用程序必须等到ADO处理完毕之后才可以继续执行.但是除了同步执行方式之外,ADO也提供了异步执行的方式,允许当ADO处理时,应用程序仍然能够先继续执行.而当ADO处理数据完毕之后,ADO会以事件的方式通知应用程序,此时应用程序可以再根据ADO执行的结果来采取相应的动作.使用异步执行方式有许多用途,例如,如果应用程序需要处理花费大量时间的动作,那么ADO可以选择以异步执行方式让ADO在后台执行,而让应用程序继续处理图形用户接口或用户输入的数据.在ADO中使用异步执行方式非

函数中setTimeout的执行顺序

这里先给出一段代码: function a(){ setTimeout(function(){ console.log("setTimeout") },2000); function oneSecond(){ var now = new Date(); var exitTime = now.getTime() + 1000; while (true) { now = new Date(); if (now.getTime() >= exitTime){ console.log(&

ES6中的async函数

一.概述 async 函数是 Generator 函数的语法糖 使用Generator 函数,依次读取两个文件代码如下 var fs = require('fs'); var readFile = function (fileName) { return new Promise(function (resolve, reject) { fs.readFile(fileName, function(error, data) { if (error) return reject(error); re

JS中事件的执行顺序和AJAX的异步

之前了解过异步和同步,知道同步是顺序执行,异步是同时执行,但是没有遇到过这种情况,不是很理解,这两天做项目突然遇到了,对这有了一个初步的认识.废话不多说,直接上要求. 1.项目要求:外部调用xml文件,然后JS动态生成下拉菜单,使多个文件同时使用此菜单,方便维护. 如图,下面白色为以前的菜单,但是多个地图都需要写同样的菜单比较麻烦,也不好修改,所以做一个xml文件,存储菜单内容,然后多个地图调用,容易修改,蓝色部分菜单. 2.项目代码:此处我使用的Jquery addMenu(){ $.ajax

Spring异步执行(@Async)2点注意事项

Spring中可以异步执行代码,注解方式是使用@Async注解. 原理.怎么使用,就不说了. 写2点自己遇到过的问题. 1.方法是公有的 // 通知归属人 @Async public void notifyPusher(Project project) { } 2.异步代码,需要放在外部单独的类中. @Service("asyncBiz")public class AsyncBiz { @Async public void notifyPusher(Project project) {

在JS函数中执行C#中的函数、字段

1.调用字段 cs文件的代码: public int id = 0; protected void Page_Load(object sender, EventArgs e) { id = 2; } js页面的代码: function CheckFunc() { alert("<%= id%>"); } 2.调用函数: 在JS函数中访问或执行C#.NET中的函数: 在JS函数中访问C#函数方法一: 首先建立一个按钮,在后台将调用或处理的内容写入button_click中;接

async函数解析

转载请注明出处:async函数解析 async函数是基于Generator函数实现的,也就是说是Generator函数的语法糖.在之前的文章有介绍过Generator函数语法和异步应用,如果对其不了解的,可以先看看关于Generator函数的文章,这样学习async函数的难度就不会太大. 传送门: Generator语法解析 Generator函数异步应用 接下来会用一些篇幅说明一下async函数,文末会给出async函数的参考学习文章. 文章目录 含义 基本语法 错误处理 异步应用 含义 我们

async 函数

含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 Generator 函数,依次读取两个文件. const fs = require('fs'); const readFile = function (fileName) { return new Promise(function (resolve, reject) { fs.readFile(fileName, function(

Scala 中的异步事件处理

在任何并发性应用程序中,异步事件处理都至关重要.无论事件的来源是什么(不同的计算任务.I/O 操作或与外部系统的交互),您的代码都必须跟踪事件,协调为响应它们而执行的操作.应用程序可以采用两种基本方法之一来实现异步事件处理: 阻塞:一个等待事件的协调线程. 非阻塞:事件向应用程序生成某种形式的通知,而没有线程显式等待它. 合成事件 scala.concurrent.Promise 和 scala.concurrent.Future 类为 Scala 开发人员提供了一些与 Java 8 开发人员的