Deferred异步控制工具
Deferred 的异步方式,挺适合你遇到“结果还没来”的场景,比如从 Web 服务拿个数组,得等一会儿。用法比较轻巧,API 也不复杂,不像有些异步库那么重。你可以把它想成“更轻的 Promise”,但用起来更灵活一点。
受一些老牌异步库启发,Deferred在设计上追求“够用就好”,写法也偏实用主义。如果你常搞 Node.js 或者 Web 前端,肯定碰到那种求还在路上,但后面逻辑又得写的情况——就适合上它。
比如你求一个接口,拿数据更新页面,可以这样搞:
const deferred = new Deferred();
api.fetchData().then(deferred.resolve);
deferred.promise.then(updateUI);
语义也清晰:我等你搞完,再继续做事。嗯,像极了每天干的活。要是你还不熟异步,可以顺手看看JavaScript 异步编程那篇,入门挺快的。
对了,它的文档也还不错,写得比较接地气。有问题也能直接提 issue,维护者还挺活跃。要是你在移动端开发里也碰到异步操作(比如加载图片、拉接口),也能借这个思路理一理逻辑。
如果你想找个“轻巧不绕弯”的异步方案,Deferred还蛮值得试试的。
106.42KB
文件大小:
评论区