2016-03-26 7 views
0

プロキシを使用して取得および設定操作をインターセプトしようとしています。設定は完全に機能しますが、無限ループで "RangeError:最大呼び出しスタックサイズを超えました"というトリガーを取得します。私は傍受の間に単にログに記録し、デフォルトの動作を返そうとしています。Proxy RangeErrorを取得する

ワーキング:ブロークン

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)

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)

答えて

0

Iは、受信偶然にを除去することによって、これを固定しました。

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)

関連する問題