2016-03-26 18 views
0

Proxy'leri kullanarak alma ve ayarlama işlemlerini engellemeye çalışıyorum. Ayar mükemmel çalışır, ancak "RangeError: Maksimum çağrı yığını boyutu aşıldı" tetikleyicileri sonsuz bir döngüde. Sadece kesişme sırasında oturum açmaya çalışıyorum ve varsayılan davranışı iade ediyorum.Proxy Alma RangeError

Çalışma: Broken

testobject = {} 
 
testobject = new Proxy(testobject, { 
 
set(target, property, value, receiver) { 
 
    console.log("setting", target, property, value, receiver) 
 
    return(Reflect.set(target, property, value, receiver)) 
 
} 
 
}) 
 
testobject.done = true 
 
console.log(testobject.done)

:

cevap

0

testobject = {} 
 
testobject = new Proxy(testobject, { 
 
get(target, property, receiver) { 
 
    console.log("getting", target, property, receiver) 
 
    return(Reflect.get(target, property, receiver)) 
 
}, 
 
set(target, property, value, receiver) { 
 
    console.log("setting", target, property, value, receiver) 
 
    return(Reflect.set(target, property, value, receiver)) 
 
} 
 
}) 
 
testobject.done = true 
 
console.log(testobject.done)
ben alıcı paramters kaldırarak bu sabit.

testobject = {} 
 
testobject = new Proxy(testobject, { 
 
get(target, property) { 
 
    console.log("getting", target, property) 
 
    return(Reflect.get(target, property)) 
 
}, 
 
set(target, property, value) { 
 
    console.log("setting", target, property, value) 
 
    return(Reflect.set(target, property, value)) 
 
} 
 
}) 
 
testobject.done = true 
 
console.log(testobject.done)