用Generator简化异步操作代码

有点像Promise的变形, 目前还没想到更优雅的写法。

总觉得Generator有点像线程,有中断有唤醒,Generator应该可以模拟多线程时间片的效果。

function async(x, _genObj) {
setTimeout(function() {
_genObj.next(x + x);
}, 100);
}

function* testGen(aa) {
console.log(‘第一步‘);
var re = yield async(aa,genObj);
console.log(‘第二步‘, re);
re = yield async(re,genObj);
console.log(‘第三步‘, re);
re = yield async(re,genObj);
console.log(‘第四步‘, re);
}
var genObj = testGen(2);
genObj.next();

时间: 2024-11-12 11:47:11

用Generator简化异步操作代码的相关文章

Spring 中使用 Mybatis generator 自动生成代码

Mybatis generator 是一个 Mybatis 插件,可以用于自动生成项目中需要的 pojo 类.对应的 Mapper 接口和 mapper.xml 文件.使用该插件,一方面可以节省开发时间,另一方面也避免手写时打错字的问题. 由于工作需要,我打算在原有的 Spring 项目中使用 Mybatis generator 自动生成代码,以便简化 DAO 层的开发. 闲言少叙,just do it! 1. 引入依赖 a. 父模块配置 <properties> <spring_ver

基于MVC+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码

在Web开发的时候,我们很多时候,需要引用很多CSS文件.JS文件,随着使用更多的插件或者独立样式文件,可能我们的Web界面代码会越来越臃肿,看起来也很累赘,在MVC里面提供了一个Bundle的对象,用来简化页面代码非常方便,本文主要介绍在我的MVC框架里面,如何使用bundles来简化页面的代码的. 1.常规的页面代码 我们知道,随着使用更多的一些效果,我们可能不断引入一些新的JS和CSS文件,已达到Web界面更好的表现效果.这样也就逐步增加了文件代码的行数,造成相对比较臃肿的场景,如下面的我

基于MVC4+EasyUI的Web开发框架经验总结(11)--使用Bundles处理简化页面代码

在Web开发的时候,我们很多时候,需要引用很多CSS文件.JS文件,随着使用更多的插件或者独立样式文件,可能我们的Web界面代码会越来越臃肿,看起来也很累赘,在MVC里面提供了一个Bundle的对象,用来简化页面代码非常方便,本文主要介绍在我的MVC框架里面,如何使用bundles来简化页面的代码的. 1.常规的页面代码 我们知道,随着使用更多的一些效果,我们可能不断引入一些新的JS和CSS文件,已达到Web界面更好的表现效果.这样也就逐步增加了文件代码的行数,造成相对比较臃肿的场景,如下面的我

MyBatis使用Generator自动生成代码

MyBatis中,可以使用Generator自动生成代码,包括DAO层. MODEL层 .MAPPING SQL映射文件. 第一步:下载MyBatis的Generator工具 http://mybatis.github.io/generator/ 第二步:配置自动生成代码所需的XML配置文件,例如(generator.xml) 将这个文件保存至你下载的mybatis-generator-core-1.3.2文件夹下 第三步:进入XML配置文件(generator.xml)所在的的目录并执行命令:

使用MyBatis Generator自动创建代码

SSM框架--使用MyBatis Generator自动创建代码 目录说明 使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件,只需要下几个jar包即可,把它们放在一个目录下面,如下图: src文件夹:生成的资源文件的位置 generationRun.bat:自动生成 脚本 generatorConfig - 副本.xml:备份 generatorConfig.xml:配置文件 mybatis-3.2.6.jar:mybatis框

mybatis使用generator自动生成代码时的类型转换

使用mybatis的generator自动生成代码,但是oracle数据库中number(6,2)总是自动转成BigDecimal,我想要转成的是float类型 这样就写了一个类型转换器,需要继承JavaTypeResolver接口 然后在mybaties配置文件generatorConfig.xml中类型转换配置位置添加上即可 <javaTypeResolver type="com.generator.MyJavaTypeResolver"> <property n

lombok 简化java代码注解 理解

lombok 注解: lombok 提供的注解不多,可以参考官方视频的讲解和官方文档.     Lombok 注解在线帮助文档:http://projectlombok.org/features/index.    下面介绍几个我常用的 lombok 注解:         @Data   :注解在类上:提供类所有属性的 getting 和 setting 方法,此外还提供了equals.canEqual.hashCode.toString 方法         @Setter:注解在属性上:为

Lombok简化Java代码

导包:import lombok.Data; Lombok简化Java代码: 在Lombok中,生成构造方法的annotation一共有三个:@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsContructor.使用这三个annotation来完成项目中对于不同构造方法的需求.@NoArgsConstructor : 生成一个无参数的构造方法,这个annotation在与其他的annotation配合起来使用的时候更加能凸显出他的重要性

Mybatis generator 逆向生成代码

Mybatis generator 逆向生成代码 简单介绍 本文介绍用mybatis逆向生成javaben dao接口 1.创建maven项目 创建相应的包 附上项目创建完成的图片 然后在pom.xml文件里面引入需要的jar的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema