转自: 自定义一个更好用的SwipeRefreshLayout(弹力拉伸效果详解) 前言 熟悉SwipeRefreshLayout的同学一定知道,SwipeRefreshLayout是android里面专为RecyclerView,NestedScrollView提供下拉刷新动画的一个控件.可是在使用过程中有些局限性,例如只支持上述控件,不支持ListView,GridView等,另外下拉的动画效果很难更改,而且不支持上拉加载……在很多场景的情况下往往不符合我们的需求. 今天为大家分享的是一个支…
    find命令的一些常用参数的常用实例和用时的注意事项.     实例:     (1)-name参数: 1)[sunjimeng@localhost home]$ find ~ -name "less*" -print      在指定目录和指定目录的子目录中查找与文件名匹配的文件 [sunjimeng@localhost home]$ find ~ -name "less*" -print /home/sunjimeng/Documents/less1 /…
VSFTPD 安装: -- 查看是否已经安装 VSftpd: rpm -qa | grep vsftp yum install -y vsftpd groupadd ftpuser #创建ftpuser组useradd -g ftpuser -s /sbin/nologin -M ftpuser #创建个ftpuser用户并将其加入到ftpuser组,该用户不能登陆 -- 设置登陆FTP的密码: passwd ftpuser 将用户添加到user_list中 echo ftpuser >> /…
Javascript语言的执行环境是"单线程"(single thread).所谓"单线程",就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推. 这种模式的好处是实现起来比较简单,执行环境相对单纯:坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行.常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行.…
前段时间我用两篇文章深入讲解了异步的概念和Event Loop的底层原理,然后还讲了一种自己实现异步的发布订阅模式: setTimeout和setImmediate到底谁先执行,本文让你彻底理解Event Loop 从发布订阅模式入手读懂Node.js的EventEmitter源码 本文会讲解另一种更现代的异步实现方案:Promise.Promise几乎是面试必考点,所以我们不能仅仅会用,还得知道他的底层原理,学习他原理的最好方法就是自己也实现一个Promise.所以本文会自己实现一个遵循Pro…
1.什么是Promise? Promise是JS异步编程中的重要概念,异步抽象处理对象,是目前比较流行Javascript异步编程解决方案之一 2.对于几种常见异步编程方案 回调函数 事件监听 发布/订阅 Promise对象 这里就拿回调函数说说 (1) 对于回调函数 我们用Jquery的ajax获取数据时 都是以回调函数方式获取的数据 $.get(url, (data) => { console.log(data) ) (2) 如果说 当我们需要发送多个异步请求 并且每个请求之间需要相互依赖…
2015年6月,ES2015(即ES6)正式发布后受到了非常多的关注.其中很重要的一点是 Promise 被列为了正式规范. 在此之前很多库都对异步编程/回调地狱实现了类 Promise 的应对方案,比如 bluebird.Angular 的 Q 和大名鼎鼎的 jQuery 的 deffered 等. 为了便于理解,本文将分为三个部分,每个部分实现 Promise 的一部分特性,最终一步一步的实现一个完整的.遵循 promise A+ 规范的 Promise. Promise A+规范规定,Pr…
第一部分: JS - Promise使用详解1(基本概念.使用优点) 一.promises相关概念 promises 的概念是由 CommonJS 小组的成员在 Promises/A 规范中提出来的.   1,then()方法介绍 根据 Promise/A 规范,promise 是一个对象,只需要 then 这一个方法.then 方法带有如下三个参数: 成功回调 失败回调 前进回调(规范没有要求包括前进回调的实现,但是很多都实现了). 一个全新的 promise 对象从每个 then 的调用中返…
promise 出来已久,以前一直使用,没有仔细剖析原理,最近在复习es6的知识,写一下自己对于promise的理解. promise是es6的一种异步编程解决方案,避免频繁的回调函数,增强代码的可阅读性. 写法很简单: let p2 = new Promise((reslove, reject) => { reslove(1) }) console.log(p2.then(res => { alert(res) })) Promise是内置的构造函数,reslove.reject是固定的,只…
参考文章:深入理解 Promise.[翻译]Promises/A+规范 从入门Promise的正确姿势中我们已经了解到Promise的基本用法.那么现在给你一个需求:根据Promise的用法和Promise/A+规范,实现一个自己的Promise函数. 1.Promise构造函数的结构 根据Promise的用法我们知道:在new一个Promise函数的时候,Promise函数必须接受一个函数作为参数.我们暂且把这个参数函数称为执行器. 执行器提供两个参数(resolve,reject),且内部有…