Public
Edited
Oct 2, 2024
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
size = debounce(viewof listSize, 500)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
fetchJSON = async (url)=> {
return await fetch(url).then(res=>{
mutable error = spawnError(false)
return res.json()
}).catch(e=>{
mutable error = spawnError(true, `无法从地址获取数据: ${url}, Universalis 可能正在维护`)
throw e
})
}
Insert cell
mutable error = ({
value: false,
message: '',
})
Insert cell
spawnError = (value, message = '')=>{
return {
value,
message
}
}
Insert cell
import { VueUse } from '@unluckyninja/vue'
Insert cell
useStorage = (id, ...options) => {
return VueUse.useStorage(`1f455a91b9d42b0a-${id}`, ...options)
}
Insert cell
import { debounce } from '@mbostock/debouncing-input'
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more