SyncBailHook

只要有返回值,即跳出后面的逻辑

const { SyncBailHook } = require('tapable');

let BailHook = new SyncBailHook(["name", "age"]);
BailHook.tap("a", function (name, age) {
 console.log(name, age,'a');
});
BailHook.tap("b", function (name, age) {
 console.log(name, age,'b');
});
BailHook.tap("c", function (name, age) {
 console.log(name, age,'c');
});
BailHook.call("张三",18);

打印如下

张三 18 a
张三 18 b
张三 18 c

修改代码

const { SyncBailHook } = require('tapable');

let BailHook = new SyncBailHook(["name", "age"]);
BailHook.tap("a", function (name, age) {
  console.log(name, age,'a');
});
BailHook.tap("b", function (name, age) {
  console.log(name, age,'b');
  return null;
});
BailHook.tap("c", function (name, age) {
  console.log(name, age,'c');
});
BailHook.call("张三",18);

打印如下

张三 18 a
张三 18 b

带你入门前端
38 声望2 粉丝

通俗易懂,言简意赅授课