Tapable(二)
示意图(引用):
安装tapable:
yarn add tapable
异步钩子类
通过 tapAsync 或 tapPromise 来监听函数,通过 callAsync 或 promise来发布订阅的。(凡有异步,必有回调)
- 异步并行 (Parallel)
– AsyncParallelHook
– AsyncParalleBailHook - 异步串行 (Series)
– AsyncSeriesHook
– AsyncSeriesBailHook
– AsyncSeriesWaterfallHook
一、AsyncParallelHook
异步并行, 监听的函数会一块执行, 哪个函数先执行完就先触发。不需要关心监听函数的返回值。
class AsyncParallelHook {
constructor(args) {
this.tasks = [];
}
tapAsync(name, task) {
this.tasks.push(task);
}
callAsync(...args) {
let finalCallback = args.pop(); // 拿