(收集反馈)3.8.5 Tween 功能增强版试用(可直接拷贝到现有工程中试用)

这个 3.8.5 可能来不及了,还有其它的更紧急的任务需要处理。

嗯,这个我后续考虑看看。大概率不会在 3.8.5 了。

女子白勺。

有这个,你就可以实现类似的 springs 效果了。我 PR 中提交了一个粗超的 springs 版本的 demo 。

1赞

太棒,最后一块拼图也补全了,如果不设计为同名的重载方法,是否应将 update 给无限时间 api,而有限时间 api 再想其它的名字,比如 updateInTime 之类的。

我对 updateUntil 这个名字倒是比较满意的,字面意思就知道,这个更新是 一直更新直到 回调函数返回 true。

TS 的重载其实是个伪重载,其重载实现还是要通过判断参数类型去 if else 逻辑处理,用重载的话都是 update ,而回调函数类型参数与返回值又不同,会在一定程度上影响理解。因此,我不赞同有限时间 update 和不确定时间 update 都叫 update 这个名字。

其实有限时间的 update,应该叫 updateInDuration 会比 updateInTime 好点。但是既然我们已经有 updateUntil ,那么有限时间就叫 update 也问题不大。

1赞

虽然我更倾向于 update 保留给无限时间 api,因为更符合使用惯性,比如组件的生命周期函数的名字也是 update,而有限时间 api 的名字则只要取得不是太难懂就好。

但是 updateUntil 也不是不能接受,挺好的。

嗯,主要是这个无限时间的 update 他的 callback 还需要有个返回值,这跟组件和 scheduler 的 update 回调定义格格不入,而我们又取名如果也叫 update,难免会有一些概念上的混淆,不够清晰。