webpack / tapable

Just a little module for plugins.
MIT License
3.74k stars 395 forks source link

AsyncParallelHook seems not fit as promise #97

Closed LeeeeeeM closed 5 years ago

LeeeeeeM commented 5 years ago
const {
  AsyncParallelHook
} = require('./lib/index')

const hook = new AsyncParallelHook(['name'])

hook.tapAsync('x', function(name, cb) {
  setTimeout(function() {
    console.log(1)
    cb(name)
  }, 500)
})

hook.tapAsync('y', function(name, cb) {
  setTimeout(function() {
    console.log(2)
    cb(name)
  }, 1000)
})

hook.callAsync('leeem', function(name) {
  console.log('start', name)
})

/// 1
/// start leeem
/// 2

the runtime variable count is not injected in callback, is it correct?