2016-03-26 10 views
0

Ich versuche Abfangen und Festlegen von Operationen mit Proxies. Einstellung funktioniert perfekt, aber Trigger "RangeError: Maximale Call-Stack-Größe überschritten" in einer Endlosschleife. Ich versuche, während des Abfangens einfach zu loggen und das Standardverhalten zurückzugeben.Proxy Getting RangeError

Arbeits:

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)

gebrochen:

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)

Antwort

0

Ich reparierte diese durch den Empfänger paramters entfernen.

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)