• 等级
  • 422141 访问
  • 172 原创
  • 0 转发
  • 9931 排名
  • 157 评论
  • 135 获赞

用 Promise 实现一个消息队列

需求描述在此篇博客中,我们的需求如下:有一个消息调度器去操作发送来消息但处理消息花费的事件是不确定的,有多有少消息是不断发送过来的这个时候就会出现一种情况:前一条消息还未执行结束,后一条消息就被发送过来了如果这个时候要求后一条消息必须在前一条执行完才开始执行,该如何实现?使用Promise写一个wait函数syncfunctionwait(timeout){co...

2018-11-07 22:56:42

ES6 中的常用方法

Map转JSONfunctionmap2json(map){constobj=Object.create(null);map.forEach((v,k)=>{obj[k]=v;});returnJSON.stringify(obj);}JSON转Mapfunctionjson2map(json){...

2018-09-03 21:17:00

JavaScript中的Promise对象

标签:JavaScriptPromise在ES6中,Promise对象成为了一个原生对象,有关其基本的用法如下我们经常会看到格式如下的代码Promise.resolve("success").then(result=>{console.log(result);});控制台打出结果为:successPromise是运用在异步编程中的,比如...

2018-07-20 15:08:41

让你的办公室更有格调——明基 PD2710QC

让你的办公室更有格调——明基PD2710QC作为一个前端程序员,显示器的重要性可想而知,如果作为一个极客,MAC用户,TYPEC笔记本电脑用户的你,发现现有的显示器渐渐不能满足自身的需求,比如笔记本外接的转换线越来越多亦,显示器的外观越来越不符合现在的主流审美要求,亦或者显示器不能随意旋转,不可升降等等。这个时候选择明基PD2710QC绝对是一个最明智的选择。使用体验随着技术的...

2018-06-20 15:52:42

如何设置GitHub的公钥

如果使用http方式push代码的时候,就会每次都要输入用户名和密码,而使用SSH的方式就不会如果你的prigin是http的,可以使用如下命令经行修改在项目路径下执行gitremotermorigingitremoteaddorigingit@github.com:XXX/XXXXX.gitgitpushorigin这时候我们使用gitclonegit@...

2018-04-21 18:09:05

如何在nginx下部署vue项目

首先我们使用npmrunbuild来生成项目的静态页面,会在项目的根路径的dist目录下我们将dist下的index.html和static静态文件发布到服务器的某一目录下比如说我们发布的是在usr/local/vue/page下,那么我们对于nginx的配置如下在/usr/local/nginx/conf下打开nginx.conf修改service的内容如下...

2018-04-21 17:44:21

CSS3中 border-image 的基本用法

border-image是CSS3中的属性,用于使用图片左右一块区域的边界,其基本的使用形式如下border-image:url(img-url)toprightbottomleft;其中toprightbottomleft分别表示上右下左的边距,如下示例border-image:url(border.png)30303030;其对应的切割效果如...

2018-03-19 10:05:09

CSS3实现加载效果

预期实现的效果如下如所示首先基本的Html布局如下<divid="wrap"><divclass="line1"></div><divclass="line2"></div><divclass="line3"&

2018-03-16 16:29:30

Vuex 入门教程

这里要完成的功能是通过按钮的加减来动态的处理数据我们新建一个基本的Vue项目vueinitwebpack-simplevuex-1运行如下命令安装相应的依赖和Vuexnpminpmivuex--save安装完之后我们来新建一个store文件夹,在该文件夹下面新建一个store.js文件,并显式的通过Vue.use来安装Vuex,其代码如...

2018-03-13 14:25:12

Vue.js 中的动态路由

在文章使用vue-router完成简单导航功能中实现的路由导航功能是不能传递参数的,也就是说是静态路由。而能传递参数的路由模式,由于可以传递参数,所以其对应的路由数量是不确定的,故称之为动态路由那么如何将参数作为路由呢?在参数名前面加上:,然后将参数写在路由的path内如下示例:routes:[//将页面组件与path指令的路由关联...

2018-03-12 09:53:06

使用vue-router完成简单导航功能

vue-router是Vue.js官方提供的一套专用的路由工具库安装命令如下npmivue-router-Dvue-router实例是一个Vue插件,我们需要在Vue全局引用中通过Vue.use()将它接入到Vue实例中。在我们的工程中,,main.js是默认的程序入口文件,所有的全局配置都会在这个文件中进行。我们在main.js中加入如下引用import...

2018-03-09 17:36:56

关于Vue.js中多页面项目的配置

首先使用如下的命令创建一个新的Vue.js项目vueinitwebpackvue-3使用VsCode打开项目之后,在命令行进入到项目中去,安装相关的依赖库,然后运行项目,执行下面的命令cdvue-3npminstallnpmrundev在一切正常的情况下,在浏览器输入http://localhost:8080应该会弹出一个含有大大的V字图标的页面。...

2018-03-09 14:48:57

有关Vue.js中的v-model的说明

首先如下代码使用v-model可以实现数据的绑定,也就是说我们在输入框中输入什么数据,对应的<span>标签中就会显示什么数据<body><divid="app"><inputtype="input"v-model="url"><br/><spa

2018-03-06 14:29:09

Java使用Socket实现通信

客户端程序packagecom.jun.client;importjava.io.*;importjava.net.Socket;importjava.util.Scanner;/***〈客户端程序〉<br>**@author未绪*@time2018/2/1612:42*/publicclassClient{...

2018-03-04 16:40:27

redis数据库中的通知

Redis数据库的通知主要用来获取数据库中的键的变化以及数据库中命令的执行情况。要想使用redis数据库中的通知的功能则需要在redis.conf配置文件中进行相应的配置键的变化通知用官方的语句称为键空间通知命令的执行情况通知用官方的语句称为键事件通知配置文件redis.conf中的notify-keyspace-events选项决定了服务器发送通知的类型以下列举一些常见的配置...

2018-02-09 21:17:43

Redis中的过期键删除策略

我们知道在Redis数据库中,我们可以为相应的键设置过期时间那么在相应键的过期时间到了,我们要通过什么方法来回收相应的键呢?对于上面的问题,我们有以下三种不同的删除策略定时删除:在设置键过期时间的同时,创建一个定时器,让定时器在过期时间来临的时候,立即删除相应的键。惰性删除:我们先不管当前键是否过期,在使用的时候检查一下当前键是否已经过期,如果过期就立即删除当前键。

2018-01-21 22:06:30

Redis 中的对象介绍

Redis底层使用到的主要数据结构有:简单动态字符串,双端链表,字典,压缩列表,整数集合Redis并没有直接使用这些数据结构来实现K-Value数据库,而是基于这些数据结构创建了一个对象系统。这篇文章就是简要的介绍一下Redis的对象的结构。Redis的对象系统有五个部分组成:字符串对象,列表对象,哈希对象,集合对象和有序集合对象Redis对象的数据结构Redis的每一个

2018-01-17 14:38:10

Effective Java —— 始终要覆盖toString方法

提供好的toString实现可以使类用起来更加舒适如下有一个用户信息类:packagecom.blog.effective.note10;/***〈用户信息〉**@author未绪*@time2018/1/1214:30*/publicclassUserInfo{privateStringuserName;privat

2018-01-12 14:42:26

Redis整数集合(intset)的升级操作

当Redis中的Set(集合)只存有整数值元素的时候,并且元素的数目并不是非常多的时候,就会使用intset(整数集合)作为集合键的底层实现。127.0.0.1:6381>SADDnumbers246(integer)3127.0.0.1:6381>OBJECTENCODINGnumbers"intset"通过上面的代码我们就知道集合numbers的存储结构是in

2018-01-11 23:32:51

Redis中字典的rehsah操作

最近在看Redis源码的时候,看到Redis中的字典中有一个属性rehashidx,注解中的说明是:rehash索引,当不在进行rehash操作的时候,其值为-1我们来看一下Redis中字典的定义////dict字典//typedefstructdict{//类型特定函数dictType*type;//type里面主要记录了一系列的函数,可以

2018-01-09 14:23:19

片刻清夏

生命有多重要,独立思考的能力就有多重要!
关注
  • 计算机软件/前端开发工程师
  • 中国 福建省 厦门市
奖章
  • 专栏达人
  • 持之以恒