5.js模式-职责链模式
1. 職責鏈模式
將對象連成一條鏈,并沿著這條鏈傳遞請求,直到有一個對象處理它為止。
var chain = function(fn){
????? this.fn = fn;
????? this.successor = null;
}
?
chain.prototype.setNextSuccessor = function(successor){
????? return this.successor = successor;
}
?
chain.prototype.passRequest = function(){
????? var ret = this.fn.apply(this,arguments);
?????
????? if(ret === 'nextSuccessor'){
???????????? return this.successor && this.successor.passRequest?.apply(this.successor,arguments);
????? }
?????
????? return ret;
}
?
var order200 = function(pay){
????? if(pay){
???????????? console.log('200');
????? }else{
???????????? return 'nextSuccessor';
????? }
}
?
var normal = function(pay){
????? if(pay){
???????????? console.log('10');
????? }else{
???????????? console.log('50');
????? }
}
?
var chain200 = new chain(order200);
var chainNormal = new chain(normal);
- order200.setNextSuccessor(chainNormal);
?
chain200.passRequest(false);
轉載于:https://www.cnblogs.com/SLchuck/p/4869714.html
總結
以上是生活随笔為你收集整理的5.js模式-职责链模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springmvc 中controlle
- 下一篇: 淘宝npm镜像