# wx.worklet

> 基础库 2.29.2 开始支持，低版本需做[兼容处理](1003706)。

> 相关文档: [worklet 动画](/miniprogram/dev/framework/runtime/skyline/worklet.md)

worklet 对象，可以通过 `wx.worklet` 获取。

## 方法

### [SharedValue worklet.shared(any initialValue)](/miniprogram/dev/api/ui/worklet/base/worklet.shared)

创建共享变量 `SharedValue`，用于跨线程共享数据和驱动动画。

### [DerivedValue worklet.derived(WorkletFunction updaterWorklet)](/miniprogram/dev/api/ui/worklet/base/worklet.derived)

衍生值 `DerivedValue`，可基于已有的 `SharedValue` 生成其它共享变量。

### [worklet.cancelAnimation(SharedValue SharedValue)](/miniprogram/dev/api/ui/worklet/base/worklet.cancelAnimation)

取消由 `SharedValue` 驱动的动画。

### [function worklet.runOnUI(function fn)](/miniprogram/dev/api/ui/worklet/tool-function/worklet.runOnUI)

在 UI 线程执行 worklet 函数。

### [function worklet.runOnJS(function fn)](/miniprogram/dev/api/ui/worklet/tool-function/worklet.runOnJS)

`worklet` 函数运行在 `UI` 线程时，捕获的外部函数可能为 `worklet` 类型或普通函数，为了更明显的对其区分，要求必须使用 `runOnJS` 调回 `JS` 线程的普通函数。
有这样的要求是因为，调用其它 `worklet` 函数时是同步调用，但在 `UI` 线程执行 `JS` 线程的函数只能是异步，开发者容易混淆，试图同步获取 `JS` 线程的返回值。

### [AnimationObject worklet.timing(number toValue, Object options, function callback)](/miniprogram/dev/api/ui/worklet/animation/worklet.timing)

基于时间的动画。

### [AnimationObject worklet.spring(number|string toValue, Object options, function callback)](/miniprogram/dev/api/ui/worklet/animation/worklet.spring)

基于物理的动画。

### [AnimationObject worklet.decay(Object options, function callback)](/miniprogram/dev/api/ui/worklet/animation/worklet.decay)

基于滚动衰减的动画。

### [AnimationObject worklet.sequence(AnimationObject animationN)](/miniprogram/dev/api/ui/worklet/combine-animation/worklet.sequence)

组合动画序列，依次执行传入的动画。

### [AnimationObject worklet.repeat(AnimationObject animation, number numberOfReps, boolean reverse, function callback)](/miniprogram/dev/api/ui/worklet/combine-animation/worklet.repeat)

重复执行动画。

### [AnimationObject worklet.delay(number delayMS, AnimationObject delayedAnimation)](/miniprogram/dev/api/ui/worklet/combine-animation/worklet.delay)

延迟执行动画。

### [worklet.scrollViewContext.scrollTo(Object object)](/miniprogram/dev/api/ui/worklet/base/worklet.scrollViewContext.scrollTo)

滚动至指定位置
