Chromium 代码下并发 Callback 的骚操作

Dosk 技术站 at 
背景我狗哥想同时发起多个异步操作,并在都结束时去处理结果;我说你写个状态机就行了呗,他觉的麻烦(嗯,麻烦是他的口头禅了),代码库是 chromium,所以我决定想办法在 base::OnceCallback 上做做文章调研首先想到的是,这个操作像极了 js 的 Promise.all,人家专门制定了规范来干这事,但是 chromium 似乎并不认为这是个很常见的操作搜了下 base 最后发现还是有相关方法的,一个叫 base::BarrierCallback 另一个叫 base::BarrierClosure,其实没差太多我觉得这两个不够好,所以决定写一个 template 来搞搞整活我就不啰……