# 通用工具
# 说明
通用工具模块,提供一些通用的工具函数,导出模块名为utils
- 导入模块
import { utils } from 'gx-instant'
# 方法
# count
说明:数据统计
- 参数
val:Object | Array | Map
被统计的数据match:any | Array | Object
可以是单个值,也可以是数组(数组可以匹配自身结构,也可以匹配集合内部的每一项),也可以是对象(匹配对象结构的数据出现次数)matchSelf:boolean
判断是否匹配自身,可选,match类型为数组时有效,如果为true,则统计的是match本身的值,否则统计match的子元素值
- 返回:
number
统计结果
示例
//匹配1在[1,2,3,{arr:[1,2]}]中出现的次数
count([1,2,3,{arr:[1,2]}],1)
//1和2和3,在[1,2,3,{arr:[1,2]}]中出现的总次数
count([1,2,3,{arr:[1,2]}],[1,2,3],false)
//匹配[1,2,3]本身这个结构在前面的数据中出现的次数
count([1,2,3,{arr:[1,2]}],[1,2,3],true)
# filter
说明:数据过滤
- 参数
vales:Object | Array
要过滤的数据(支持数组,对象)deep:boolean
是否深层过滤,可选,默认truetarget:Array
要过滤的值,可选,默认[null,undefined]
- 返回:
Object | Array
过滤后的数据
# log
说明:浏览器控制台打印日志
- 参数
val:Arguments
要打印的值,可传入多个参数,引用数据类型会序列化type:string
打印类型,可选,默认info,可选值:info、error、warning、success;多参数时,如果最后一个参数为info、error、warning、success其中之一,则将该参数视为type,val为其之前参数,否则type默认为info,所有参数均视为val一部分;如果需要自定义配置,可以将type设置为{custom:true,color:'',title:''},custom必须为true,其中color为自定义背景色和title为日志标题
示例
//两个参数均为视为val
log('打印内容1','打印内容2')
//第一个参数为val,第二个参数为type
log('打印内容1','success')
//若最后一个参数为对象且custom为true,则视为自定义配置项
log('打印内容1','打印日志3',{custom:true,color:'',title:'自定义标题'})
# sleep
说明:睡眠
- 参数
time:number
睡眠时间,单位毫秒
- 返回:
Promise
睡眠后返回的标识
# runner
说明:判断方法是否执行成功
版本:0.0.7
- 参数
func:Function | Array<Function>
要执行的方法或方法列表args:Array
方法参数,func为数组时,此参数为二维数组,顺序和func顺序保持一致isDetail:boolean
是否返回具体信息,可选,默认false
- 返回:
boolean | Object
boolean | Object 返回结果,isDetail为false时返回是否有异常结果(true/false
,当func为数组时,返回结果数组),为true返回具体的执行信息,形式{type,res}
,type表示方法是否执行成功,成功返回success,错误返回fail,res成功时返回方法执行结果,错误时返回异常信息(当func为数组时,返回结果列表)
示例
runner(()=>{}) //true,返回单个方法执行是否成功结果
runner([()=>{},()=>{}]) //[true,true],返回结果列表
//[{msg:'success',res:undefined},{msg:'success',res:undefined}],isDetail为true返回具体执行信息
runner([()=>{},()=>{}],null,true)
提示:runner对try...catch进行封装,用来判断方法执行过程是否成功,出现异常时可以返回错误信息
← 异步请求