大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

then

American saturday night是布拉德·佩斯利的第八张专辑,制作人也是从1999年就开始合作的老搭档Frank Rogers。首支单曲《Then》发行后曾上升到乡村音乐排行榜的首位,这也是他的第14支乡村音乐冠军单曲。布拉德·佩斯利还提到他的这张专辑抒发了自己的感情,他说:“我想让听众感觉到我在这张专辑中所说的。”

Promise学习笔记

==4){ return } if(xhr.status===200){ resolve('成功时调用resolve函数,并返回一个Promise对象') }else{ reject(new Error(xhr.statusText)) } } xhr.open('GET',url) xhr.send() }) return promise//返回promise对象 } getAjax('./ajax.html') .

Redis实现分布式锁

Redis实现分布式锁 系列文章基于Redis2.8版本 2:Redis基础数据结构 3:Redis实现分布式锁 官方实现 https://redis.io/topics/distlock 官方实现--翻译中文 http://www.redis.cn/topics/distlock.html 声明:看了很多文章,大多数文章都是摘取了官方文档

Promise≠异步,async函数≠异步

Promise≠异步,async函数≠异步 本文并不提供Promise和async函数的用法说明,仅尝试通过简单的示例代码对Promise和async函数的概念和本质作简单梳理。 Promise和async函数是为异步而生,但是,如果将它们和异步划等号,可能就有问题了。 先说Promise 定义 promise // 定义 promise const promise = new Promise((resolve, reject) = { console.log('promise start'); var bResult = await b(aResult); asynFunction();

appium 整理版

appium 整理版 1. 下载最新版本appium http://appium.io/ 2. 下载 Xcode 和 android studio 并配置环境 首先 查看一下本地是否安装了 Java -version ,如果没有去下载一些最新版本的JDK 如果是安装了zsh 命令 ,需要在 .zlogin 文件中的最后 添加 if [ -f ~/.bashrc fi 并在 .查找包名appPackage,执行 adb shell ps,比如找到“com.android.calculator2” ; 3).

CentOS 7 - 安装Oracle JDK8

bash_profile 添加后如下: # Get the aliases and functions if [ -f ~/.bashrc fi # User specific environment and startup programs export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64/ export JRE_HOME=/usr/java/jdk1.8.0_172-amd64/jre PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export PATH 添加完成后按esc然后按Shift+zz保存并退出,然后启用 source .bash_profile 至此Java 8安装完成。

Promise/A+ 规范的实现

then((data)= { console.log(data) },(reason)= { console.log(reason) }) 现在用setTimeout包裹resolve,结果就是什么输出也没有 同步的话,resolve先执行,onFulfilled后执行,此时状态已经变成了fulfilled 异步的话,then先执行,此时status还是pending,无法进入fulfilled状态,所以onFulfilled不会执行,setTimeout之后resolve改变status,但已经找不到onFulfilled了 then没有容错 new Promise((resolve,reject)= { resolve(2) }).

CentOS安装python3.6

/configure --prefix=/usr/local/python3 make make install 建立python3,pip3的软链 这样可以直接使用python,pip而不是python3 pip3ln -s /usr/local/python3/bin/python3 /usr/bin/pythonln -s /usr/local/python3/bin/pip3 /usr/bin/pip 加入环境变量 vim ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/usr/local/python3/bin export PATH 修改完记得执行下面的命令,让上一步的修改生效:source ~/.

js异步回调解决方法

//创建一个Promise实例,获取数据。并把数据传递给处理函数resolve和reject。需要注意的是Promise在声明的时候就执行了。var getData1=new Promise(function(resolve,reject){ $.})var getData3=new Promise(function(resolve,reject){ $.cache(function(error){  console.log(error)})场景二:getData3的执行依赖getData1和getData2//Promise的all方法,等数组中的所有promise对象都完成执行Promise.all([getData1,getData2]).

彻底搞懂JavaScript执行机制

彻底搞懂JavaScript执行机制 彻底搞懂JavaScript执行机制 首先我们大家都了解的是,JavaScript 是一门单线程语言,所以我们就可以得出: JavaScript 是按照语句顺序执行的 首先看: let a = '1' console.log(a) let b = '2' console.log(b) 这个显然大家都知道结果,依次输出1,2 然而换一种: setTimeout(function() { console.log(1) }) new Promise(function(resolve) { console.log(2) for(var i = 0; }) console.log('4');

从闭包引出来的一系列问题

then( () = { setTimeout( () = { console.log(new Date, i) }, 1000) }) 将上面代码处理一下: const tasks = [] const output = function(i) { new Promise( (resolve) = { setTimeout( () = { console.log(new Date, i) resolve() }, 1000*i) }) } for(var i = 0;{ setTimeout( () = { console.log(new Date, i) }, 1000) }) 追问3:使用 async / await 怎么实现 // 模拟sleep const sleep = (time) = new Promise((resolve) = { setTimeout(resolve, time);

Mysql无法选取非聚合列

= 34 GROUP BY SIGN(id- 32 ) ORDER BY SIGN(id- 32 ) ) ORDER BY id; 3. 无法选取聚合列 在执行上面命令时,Mysql给了我个: SELECT list is not in GROUP BY clause . other config 运行本文第二部分的 mysql 的命令,结果如下图所示: 运行结果 4. 相关链接 only_full_group_by

Promise原理及实现

} } } executor(resolve); if (x instanceof Promise) { x.then(resolve, reject) } else { resolve(x) } } catch (e) { reject(e) } }) } //promise对象当前状态为pending //此时并不能确定调用onResolved还是onRejected,需要等当前Promise状态确定。 //所以需要将callBack放入promise1的回调数组中 if(self.status === 'pending') { return promise2 = new Promise(function (resolve, reject) { self.onResolvedCallback.push(function (value) { try { var x = onResolved(self.data);

Promise基本使用及方法介绍

(4) 如果不带有任何参数,则返回的Promise对象的状态为fulfilled,并且将undefined作为参数传递给then方法。 Promise.resolve() . 总结 then()方法、catch()方法是Promise()对象的原型方法,被Promise对象调用,返回值是一个Promise对象。 all()、race()、reject()、resolve()方法是Promise类的静态方法,被Promise类调用,返回值也是一个Promise对象。 使用new Promise((resolve, reject)= {});

Promise实现原理(附源码)

resolve(p1);then(() = value), reason = MyPromise.resolve(cb()). 这样一个完整的 Promsie 就实现了,大家对 Promise 的原理也有了解,可以让我们在使用Promise的时候更加清晰明了。 完整代码如下 // 判断变量否为function const isFunction = variable = typeof variable === 'function' // 定义Promise的三种状态常量 const PENDING = 'PENDING' const FULFILLED = 'FULFILLED' const REJECTED = 'REJECTED' class MyPromise { constructor (handle) { if (!

用async/await处理异步回调

用async/await处理异步回调 async 关键字 写一个async 函数 async function timeout() {   return 'hello world'; } ) } 现在再写一个async 函数,从而可以使用await 关键字, await 后面放置的就是返回promise对象的一个表达式,所以它后面可以写上 doubleAfter2seconds 函数的调用 async function testResult() { let result = await doubleAfter2seconds(30); const app = express(); this.getFaceList(this.province, this.city) .

浅谈async/await

使用场景 多个await命令的异步操作,如果不存在依赖关系(后面的await不依赖前一个await返回的结果),用Promise.all()让它们同时触发 function test1 () { return new Promise((resolve, reject) = { setTimeout(() = { resolve(1) }, 1000) }) } function test2 () { return new Promise((resolve, reject) = { setTimeout(() = { resolve(2) }, 2000) }) } async function exc1 () { console.log('exc1 start:',Date.now()) let res1 = await test1();

SQL训练题

连续出现的数字 SELECT DISTINCT c.Num AS ConsecutiveNums FROM (SELECT Num, @row_num:=@row_num + 1 AS rank FROM (SELECT *, @row_num:=0 FROM Logs) a) a LEFT JOIN (SELECT Num, @row_num:=@row_num + 1 AS rank FROM (SELECT *, @row_num:=0 FROM Logs) a) b ON a.rank = b.rank + 1 LEFT JOIN (SELECT Num, @row_num:=@row_num + 1 AS rank FROM (SELECT *, @row_num:=0 FROM Logs) a) c ON a.rank = c.rank + 2 WHERE a.Num = b.Num AND a.Num = c.Num;

linux 环境变量

代表加入当前目录 PATH=$PATH:.bashrc # Source global definitions if [ -f /etc/bashrc ]; /etc/bashrc fi # User specific aliases and functions export PATH=/root/anaconda3/bin:$PATH module () { eval `/usr/bin/modulecmd bash $*` } export MODULEPATH=$MODULEPATH:/etc/modulefiles 4 总结 如果你是服务器管理员,公共大型软件可以加在/etc/profile,如 python,R, java等 个性化的软件和包,可以装在.bashrc

Promise配合axios

Promise配合axios Promise 是异步编程的一种解决方案,比传统的解决方案–回调函数和事件--更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了语法,原生提供了Promise checkLogin: () = { // 返回一个promise对象 return new Promise((resolve, reject) = { axios({ url: url method: 'post', data: { } }) . // console.log(res);catch(function (error) { reject(error); } 调用 this.common.checkLogin() .