[Autodesk] 用 Promise 做防抖

基础防抖 1 2 3 4 5 6 7 8 9 10 11 12 const _debounce = (fn, delay, immediate = false) => { let timer; return (...args) => { const callNow = immediate && !timer; clearTimeout(timer); timer = setTimeout(() => { timer = null; if (!immediate) fn(...args); }, delay); if (callNow) fn(...args); }; }; 带 Promise 的防抖 鼠标拖拽时如果频繁触发防抖,而被包装函数会调 API 并返回 Promise,通常只希望最后一次真正执行。Lodash 的 debounce 要求 func 必须是函数: ...

2022年8月11日 · hyyfrank

[Autodesk] 用 Promise 做防抖

基础防抖 1 2 3 4 5 6 7 8 9 10 11 12 const _debounce = (fn, delay, immediate = false) => { let timer; return (...args) => { const callNow = immediate && !timer; clearTimeout(timer); timer = setTimeout(() => { timer = null; if (!immediate) fn(...args); }, delay); if (callNow) fn(...args); }; }; 带 Promise 的防抖 拖拽鼠标时若频繁触发防抖,而被包装函数会请求 API 并返回 Promise,往往只希望最后一次调用生效。Lodash 的 debounce 会校验 func 必须是函数: ...

2022年8月11日 · hyyfrank

[Autodesk] how autodesk use webassembly

什么是web assembly 就是一个可移植、体积小、加载快并且兼容 Web 的全新格式。可以使用C、C++、Rust、Go、Java、C#等编译器来生成wasm,以二进制的方式发送给浏览器,可以增强javascript的效率。目前的实践情况有c++开发的大型游戏,google earth, Magnum,Blazor,我司的autocad.这里主要介绍我司的autocad. ...

2020年1月25日 · hyyfrank

React With Webpack(八)

这是一个webpack4的前端架构主题,主要涉及怎么从0到1构建前端脚手架 如何把最新流行的技术整合在一起,涉及react,redux,webpack4相关技术 也包含一些项目构建需要的东西,比如gitignore,code format,不同环境设置, 热部署,调试环境等等问题 ...

2019年8月21日 · hyyfrank

React With Webpack(六)

这是一个webpack4的前端架构主题,主要涉及怎么从0到1构建前端脚手架 如何把最新流行的技术整合在一起,涉及react,redux,webpack4相关技术 也包含一些项目构建需要的东西,比如gitignore,code format,不同环境设置, 热部署,调试环境等等问题 ...

2019年8月18日 · hyyfrank