關於事務可能只有在
SQL
語句上纔有的,react事務源碼,在咱們實際開發中也有可能遇到:不想改變原來的函數,可是想附加別的功能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);
複製代碼