关于事务可能只有在
SQL
语句上才有的,react事务源码,在我们实际开发中也有可能遇到:不想改变原来的函数,但是想附加别的功能
一、自定义一个函数的事务
function setState() {
console.log('setState函数');
}
// 定义一个事务的类
class Transcation {
constructor(wrappers) {
this.wrappers = wrappers;
}
perform(func) {
this.wrappers.forEach(wrapper => wrapper.initialize())
func.call();
this.wrappers.forEach(wrapper => wrapper.close())
}
}
let transcation = new Transcation([
{
initialize() {
console.log('before1');
},
close() {
console.log('after1');
}
},
{
initialize() {
console.log('before2');
},
close() {
console.log('after2');
}
}
]);
transcation.perform(setState);