一个脚本学会 Promise

感觉之前 对 Promise 理解错误(见之前 2016年的文章:http://www.miaoqiyuan.cn/p/promise),今天周末,抽时间看了 Promise 的文档,确实时理解差太多了。

粗略的看了一个文档,简单的了解了 Promise使用。对于 react-native 中的 API 项目,非常适用( 其实fetch就是一个 Promise实例)。

用 Promise 定义好接口,调用时 最好能统一处理错误,规范为 设计好的数据格式。 文档中 没有 catch 后,能否返回 then的方法。测试结果不能,因为 调用 catch 后,已经时resolved了。如果 catch 继续返回一个 新的 Promise,按 定义的 数据格式,返回一个错误的json, 无视错误,继续操作就完美了。尝试写了一个脚本,实现了我的想法。脚本如下: 继续阅读

phpsh – phpcli开发的终极方案

最近用php代替vbs脚本,做些小工具的开发。为了方便测试不同php版本的兼容,专门写了一个 php版本切换的 批处理 phpsh.cmd,支持安装到系统、卸载等功能,还支持多个php版本的任意切换(需要先安装phpStudy)。

如果需要安装到系统,必须以管理员身份运行 命令提示符,基本的使用方法如下:

安装成功后,就不用使用管理员身份执行了。可以在任意目录 执行 phpsh,会自动设置php环境。

继续阅读

PHP解析纯真IP数据库(qqwry.dat)

这是一个 StructPHP 的教程帖,使用它 解析 qqwry.dat。关于 qqwry.dat 数据结构的分析,请参考:http://www.jb51.net/article/17197_2.htm。,

StructPHP,仅有 20 多行代码,自我感觉不仅仅仅是对 unpack 和 pack 进行了封装,它是一种全新的编码方案。通过这种方法,可以简化 二进制转换的开发过程,使用代码更加易懂。

测试前需要先引入 StructPHP (http://www.miaoqiyuan.cn/p/php-struct) 类,全部的代码如下: 继续阅读

PHP实现 struct结构体

还是那个朋友,在用 Workman 开发 TCP协议 的项目。TCP客户端发过来的流,整数啥的好解析,遇到解析小数蒙圈了。百度一下,竟然没找出来方法,最终使用unpack解决。

直接写,真头疼,很容易出错,模仿C语言的struct自己造了一个车子,这应该是最优雅的解决方案了(自我陶醉…)。

封装成了类,代码如下:
继续阅读