1.延迟函数
const delay = ms => new Promise((resolve, reject) => setTimeout(resolve, ms))
const getData = status => new Promise((resolve, reject) => {
status ? resolve('done') : reject('fail') })
const getRes = async (data) => {
try {
const res = await getData(data)
const timestamp = new Date().getTime()
await delay(3000)
console.log(res, new Date().getTime() - timestamp)
} catch (error) {
console.log(error)
}
}
getRes(true) // 隔了3秒
说到延迟,难免会联想到elementUI的loading。主要使用通过绑定布尔值类型的loading来让屏幕处于一个加载过程,而且在取到数据后,再改变loading的值。
2.分割指定长度的元素数组
const listChunk = (list, size = 1, cacheList = []) => {
const tmp = [...list]
if (size <= 0) { return cacheList }
while (tmp.length) {
cacheList.push(tmp.splice(0, size)) }
return cacheList
}