在前端开发中,回调函数是非常常见的一种实现方式。但是如果回调函数嵌套过多,就会造成回调地狱。为了解决这个问题,我们可以使用 npm 包 ay-callbackify。
ay-callbackify 模块简介
ay-callbackify 是一个让异步函数支持使用回调函数方式进行调用的工具库,可以将异步函数转换为支持回调函数的形式,使得可以使用 Promise 和 回调函数两种方式来调用同一个函数。
安装及引用
安装 ay-callbackify:
--- ------- --------------
引用 ay-callbackify:
----- ----------- - --------------------------
使用教程
基本用法
将异步函数转换为支持回调函数的形式。
----- ----------- - -------------------------- ----- ------------- - --- -- ----------------- - --- ----- ---------------- - --------------------------- -- -- ------- ------ ----------------------------------- -- - -- ------------ ------------------- ----- ------- -- - -- ----- - ------------------- - ---- - -------------------- -- - - ---
传递参数及错误处理
----- ------------- - --- -- -- - -- -- --- -- - ----- --- ---------- --- ------- -- ------- - ------ ----------------- - --- -- ----- ---------------- - --------------------------- -- -- ------- ----------- ----------------- -- ------------------ ------------ -- ---------------------------- -- --- --- ------- -- ---- -- ----------------- -------------------- -- ----- ------- -- - -- ----- - --------------------------- -- --- --- ------- -- ---- - ---- - -------------------- - ---
方法绑定及多个异步函数
----- --- - - -- -- -- -- --------- -------- --- -- - ------ - -- ------ - -- ------ ----------------- - --- -- -- -- ----------------- --------------- - -------------------------- -- ----------------------- ------------------ -- ----- ------- -- - -- ----- - --------------------------- - ---- - -------------------- ---------- -- --------- -- ----------- -- ------- -- -- -- -- - - ---
总结
使用 ay-callbackify 可以将异步函数转换为支持回调函数的形式,使得可以使用 Promise 和 回调函数两种方式来调用同一个函数。其使用也非常方便,只需要简单的引用和调用即可。
贴出完整示例代码,供读者参考:
----- ----------- - -------------------------- -- ---- ----- ------------- - --- -- ----------------- - --- ----- ---------------- - --------------------------- ----------------------------------- -- - ------------------- ----- ------- -- - -- ----- - ------------------- - ---- - -------------------- -- - - --- -- --------- ----- -------------- - --- -- -- - -- -- --- -- - ----- --- ---------- --- ------- -- ------- - ------ ----------------- - --- -- ----- ----------------- - ---------------------------- ------------------ -- ------------------ ------------ -- ---------------------------- -- --- --- ------- -- ---- --------------------- -- ----- ------- -- - -- ----- - --------------------------- -- --- --- ------- -- ---- - ---- - -------------------- - --- -- ----------- ----- --- - - -- -- -- -- --------- -------- --- -- - ------ - -- ------ - -- ------ ----------------- - --- -- -- --------------- - -------------------------- ------------------ -- ----- ------- -- - -- ----- - --------------------------- - ---- - ----------------- ---------- -- --------- -- ----------- -- ------- -- -- -- -- - - ---
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60055b8381e8991b448d916c