怎么编写一个同时支持 callback 和 promise 风格的函数

youmoo:假设给出如下代码模板:

// 一个异步函数
function someFun(callback) {}

// 可以传 callback 执行
someFun(console.log);

// 可以返回 Promise
someFun().then(console.log);

someFun函数要如何编写才能支持 2 种调用风格呢?

我写了篇文章进行详细介绍,欢迎拍砖。

JavaScript: 如何编写一个既支持 Callback 又支持 Promise 风格的函数

Gmail 和 Outlook 相互伤害

ttgo:Outlook 的通知邮件(比如未读消息 /任务到期),转发到 Gmail 的话,全部会被拒收。 而从 Gmail 返回来的通知发送失败的那封邮件,Outlook 又会标记为垃圾邮件,不动声色的将其扔进垃圾箱。 真是尼玛,神仙打架、互相伤害。

itx 和 matx ,黑苹果的纠结

monkeydev:目前有一台 3950X + vega 64 的台式机,本来想买 iMac,感觉价格高了,所以想再买台 intel 家的电脑,既可以 win 压片,也可以黑苹果但是现在面临一个选择困难症2009 年读大学的时候,就像组套 itx,但一直没有,但是现成的有个 atx 的 evga 750 的电源,又不舍得放弃心水的乔斯伯 V8 又不支持 it…

基于腾讯 COS 和 Serverless 搭建一个移动端网页相册

hsfzxjy:毕业季拍了很多照片,自己一直想写个相册存起来。最近终于将其落实到了代码,前后花了大概两周时间。 相册基于对象储存和云函数服务搭建,访问量有限的情况下几乎不用花钱。风格类似于手账,比较清新简约。 项目代码: https://github.com/hsfzxjy/albu

电信 IPv4 和 IPv6 双栈限速不同

alect:安徽电信,双栈公网,签约宽带下行 300M/上行 30M经过测试,IPv4 和 IPv6 限速不同,IPv4 限速 300/30 (稳定 360/45 ),IPv6 限速 500/100,如果同时测试 IPv4 和 IPv6 速率,互相不会影响测速,v4 和 v6 流量叠加实测网卡下行最大可以跑到 900Mbps+实测网卡上行最大可以跑到 100…

问个关于 git 和 Linux 进程的问题

ethanSong:是这样,公司一个项目 20 多个 g,我现在 pull 下来,然后删了.git 自己初始化一个库,然后 git add 之后进行 commit 操作,出现 Auto packing the repository in background for optimum performance.See "git help gc" for manu…