context

为什么 generator 忽略第一次 next 调用的参数值呢?

空扰寡人 提交于 2020-02-08 11:55:13
首先要理解几个基本概念。 执行生成器不会执行生成器函数体的代码,只是获得一个遍历器 一旦调用 next ,函数体就开始执行,一旦遇到 yield 就返回执行结果,暂停执行 第二次 next 的参数会作为第一次 yield 的结果传递给函数体,以此类推,所以第一次 next 调用的参数没用 Part I – 源码加注解 // 获得一个遍历器对象 const runner = gen(3); console.log( runner.next(4) ); // { value: 3, done: false } console.log( runner.next(5) ); // { value: 5, done: false } console.log( runner.next(6) ); // { value: 14, done: true } // 定义生成器 function* gen(x) { /* 第一次调用 next(4) 开始执行, 但是参数 4 会被忽略掉, 请继续往下看。 */ const y = yield x /* 遇到 yield 立即暂停, 所以第一次 next(4) 调用就结束了, 参数 4 也就因此被忽略掉了, 返回 { value: x, done: false }。 等待下一次调用 next(5) 恢复执行, 将参数 5 作为表达式 yield x

Android实时监听网络状态(2)

佐手、 提交于 2020-02-08 11:08:50
在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒。一般可以通过ConnectivityManager来完成该工作。 ConnectivityManager有四个主要任务: 1、监听手机网络状态(包括GPRS,WIFI, UMTS等) 2、手机状态发生改变时,发送广播 3、当一个网络连接失败时进行故障切换 4、为应用程序提供可以获取可用网络的高精度和粗糙的状态 当我们要在程序中监听网络状态时,只要一下几个步骤即可: 1、定义一个Receiver重载其中的onReceive函数,在其中完成所需要的功能,如根据WIFI和GPRS是否断开来改变空间的外观或者提示是否能访问网络 package com.bsharksdk.receiver; import com.bsharksdk.main.BSharkApi; import com.bsharksdk.ui.BSToast; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** *

画布跟js.oop

ぃ、小莉子 提交于 2020-02-08 09:34:36
<Canvas> 是HTML5中新出现的一个元素。就是可以通过 JS绘制图形。 画布(Canvas)是一个没有内容也没有边框的矩形区域。我们可以控制里面的每一个像素。 下面我们首先定义一个 Canvas元素 : <canvas id="cancas" width="300" height="300"></canvas> canvas 只有两个属性,width和height,这些属性可选并且可以通过JS或者css来控制: <script type="text/javascript"> function draw() { var c = document.getElementById("cancas"); var cxt = c.getContext("2d");// 它可以通过canvas元素对象的getContext方法来获取,同时得到的还有一些画图需要调用的函数。 getContext() 接受一个用于描述其类型的值作为参数。也就是 后面的 “2d” 或者 “3d” cxt.fillStyle = "#00ff00"; cxt.fillRect(0, 0, 150, 150);//第一个属性时距离x轴的距离,第二个是距离y轴的距离,第三第四个是宽度跟高度 } </script> 在做一个复杂的图形: <script type="text/javascript"> function

Entity Framework Core系列教程-6-查询数据

无人久伴 提交于 2020-02-08 09:12:47
Entity Framework Core中的查询 Entity Framework Core中的查询与EF 6.x中的查询相同,但具有更优化的SQL查询,并且能够将C#/ VB.NET函数包含在LINQ到实体查询中。 Entity Framework Core 允许你在模型中使用导航属性来加载相关实体。 有三种常见的 O/RM 模式可用于加载关联数据: Eager loading (预先加载): 表示从数据库中加载关联数据,作为初始查询的一部分。 Explicit loading(显式加载): 表示稍后从数据库中显式加载关联数据。 Lazy loading(延迟加载): 表示在访问导航属性时,从数据库中以透明方式加载关联数据。 访问 LINQ-to-Entities 一章,以了解有关Entity Framework中查询基础的更多信息。 在这里,您将学习Entity Framework Core中引入的查询新功能。 查询中的C#/ VB.NET函数 EF Core在LINQ-to-Entities中具有新功能,我们可以在查询中包含C#或VB.NET函数。这在EF 6中是不可能的。 private static void Main(string[] args) { var context = new SchoolContext(); var studentsWithSameName

Android屏幕尺寸单位转换

北慕城南 提交于 2020-02-08 09:00:46
最近在看Android群英传这本书,书中有一节涉及到了,屏幕尺寸与单位。觉得以后可能会用到,做个笔记。 PPI(pixels per inch) ,又称为DPI,它是由对角线的像素点数除以屏幕的大小得到,通常达到400PPI就已经是非常高的屏幕了。 Android系统定义了几个标准的DPI值,作为手机的固定DPI 密度 ldpi mdpi hdpi xhdpi xxhdpi 密度值 120 160 240 320 480 分辨率 240X320 320X480 480X800 720X1280 1080X1920 Android系统使用mdpi即密度值为160的屏幕作为标准,在这个屏幕上1px=1dp 在各个密度值中的换算比例:3:4:6:8:12 单位转换 px转换为dip或dp public static int px2dp(Context context, float px) { final float scale = context.getResources().getDisplayMetrics().density; return (int)(px/scale+0.5f); } dp或dip转换为px public static int dp2px(Context context, float dp) { final float scale = context

Android SharedPreferences

前提是你 提交于 2020-02-08 05:25:26
在日常的开发工作中,经常需要将一些少量配置信息(机器或是设备)持久化的保存在本地。这时候使用数据库就会闲的很笨重,而且确实如此。 SharedPreferences 作为一个很轻量级存储类是比较好的选择 本篇就此简单SharedPreferences的应用。 SharedPreferences简介 SharedPreferences 是用来存储一些简单的配置文件的机制, SharedPreferences 使用 Map 数据结构来存储数据( key-value )。采用 XML 格式将数据存储到设备中。 <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="name">chenjy</string> <int name="age" value="18" /> </map> SharedPreferences使用 获取 SharedPreferences 有两种方式: 1.1 调用 Context 对象的 getSharedPreferences() 方法,可以被用一个应用程序下的其他组件共享。 2.2 调用 Activity 对象的 getPreferences() 方法,该对象只能在 Activity 中使用。 SharedPreferences 的四种操作模式: Context

外部存储 使用详解

守給你的承諾、 提交于 2020-02-08 05:23:19
极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 保存外部存储需要申请权限 外部存储使用案例(保存,读取,删除图片) Android 设备支持外部存储,比如 SD 卡等,保存在外部存储的数据具有全局可读性,可供在其他设备比如电脑上阅读,修改等。使用外部存储需要获取外部存储的访问权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 。 1. 保存外部存储需要申请权限 这个很重要,不然无法操作 SD 卡, <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 2. 外部存储使用案例(保存,读取,删除图片) 实现效果 判断是否挂载 SD 卡方法 /** * 1.判断SD卡是否挂载 * **/ public static boolean isMounted() { String state = Environment.getExternalStorageState(); return state.equals

Entity Framework Core系列教程-7-连接模式增删改

不打扰是莪最后的温柔 提交于 2020-02-08 05:07:03
Entity Framework Core:在连接模式下保存数据 Entity Framework Core提供了不同的方法来添加,更新或删除基础数据库中的数据。一个实体的标量属性中包含的数据将根据其EntityState插入,更新或删除。 保存实体数据有两种方案:连接模式和断开模式。在连接的方案中,相同的DbContext实例用于检索和保存实体,而在断开连接的方案中则不同。在本章中,您将学习有关在连接的场景中保存数据的知识。 下图说明了所连接场景中的CUD(创建,更新,删除)操作。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-piqpXkAu-1581081972149)(D:\note\efcore\pic\9.png)] 如上图所示,当调用DbContext.SaveChanges()方法时,Entity Framework为其EntityState被添加,修改或删除的实体生成并执行INSERT,UPDATE或DELETE语句。在连接的场景中,DbContext实例跟踪所有实体,因此每当创建,修改或删除实体时,它都会自动为每个实体设置适当的EntityState。 插入数据 DbSet.Add和DbContext.Add方法将新实体添加到上下文(DbContext的实例),当您调用SaveChanges()方法时,该实体将在数据库中插入新记录

无刷新分页 Ajax,JQuery,Json

拜拜、爱过 提交于 2020-02-08 02:06:47
1.数据库设计 字段:Id(int) , Msg(varchar(MAX)) , PostDate(datetime) 2.自定义SQL查询方法(强类型DataSet) //SelectCount()方法,用于查询总条数 select count(*) from T_Posts //GetPageData(startRowIndex,endRowIndex)方法,用于查询指定范围,分页功能, 由于不支持over语句,因此需手动增加参数,方法-右键-属性,里面的 Parameters 增加startRowIndex 和 endRowIndex,类型为 Int32 select * from ( select Id, Msg,PostDate,Row_Number()over(order by PostDate)rownum from T_Posts )t where t.rownum>=@startRowIndex and t.rownum<=@endRowIndex 3.HTML设置 <ul id="ulComment"></ul> <table> <tr id="trPage"></tr> </table> 4.处理页设置 WSXFY.ashx public void ProcessRequest(HttpContext context) { context.Response

无刷新分页 Ajax,JQuery,Json

浪子不回头ぞ 提交于 2020-02-08 01:56:32
1.数据库设计 字段:Id(int) , Msg(varchar(MAX)) , PostDate(datetime) 2.自定义SQL查询方法(强类型DataSet) //SelectCount()方法,用于查询总条数 select count(*) from T_Posts //GetPageData(startRowIndex,endRowIndex)方法,用于查询指定范围,分页功能, 由于不支持over语句,因此需手动增加参数,方法-右键-属性,里面的 Parameters 增加startRowIndex 和 endRowIndex,类型为 Int32 select * from ( select Id, Msg,PostDate,Row_Number()over(order by PostDate)rownum from T_Posts )t where t.rownum>=@startRowIndex and t.rownum<=@endRowIndex 3.HTML设置 <ul id="ulComment"></ul> <table> <tr id="trPage"></tr> </table> 4.处理页设置 WSXFY.ashx public void ProcessRequest(HttpContext context) { context.Response