查看源代码 (opens new window) Lazy为用户提供了按需加载/懒加载的便携方式。
# 引入
import { Lazy } from "tdscore"
//or
const Lazy = require("tdscore").Lazy
# 使用
向构造函数传入工厂方法。
const lazy:Lazy<number> = new Lazy(()=>{
console.log("factory method has been called.")
return Math.random() * 1000;
})
当外界首次调用Lazy#value属性时,将会初始化值并进行缓存。
const v = lazy.value // 123.4
//Output factory method has been called.
此后,工厂函数将会被释放,对value属性的获取将使用缓存的值。
const v2 = lazy.value //123.4