首页 > 其他 > 详细

同时支持回调和Promise的函数-callbackOrPromiseFn

时间:2020-07-28 21:45:53      阅读:63      评论:0      收藏:0      [点我收藏+]

有时我们希望函数可以同时支持回调和Promise

var callbackOrPromiseFn = function (fn) {
    return function (success, fail) {
        return new Promise((resolve, reject) => {
            var successFn = (res) => {
                if (success) success(res)
                if (resolve) resolve(res)
            }
            var failFn = (res) => {
                if (fail) fail(res)
                if (reject) reject(res)
            }
            fn(successFn, failFn)
        })
    }
}

test:

var fn=callbackOrPromiseFn(function(n,success,fail){
	n>1?success():fail()
})(success,fail)
var success=function(){console.log(‘success‘)}
var fail=function(){console.log(‘fail‘)}
fn(2,success,fail)
fn(0).then(success).catch(fail)

  

同时支持回调和Promise的函数-callbackOrPromiseFn

原文:https://www.cnblogs.com/zhuxianguo/p/13392665.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!