簡體   English   中英

如何檢查我們是否已經使用ObservableSlim在對象上創建了代理?

[英]How to check if we have already created proxy on Object using ObservableSlim?

我正在使用ObservableSlim創建代理。

ObservableSlip的create方法將返回一個標准的ES6代理。

我在這樣的對象上創建了一個代理:

const proxy = ObservableSlim.create(model, null, (changes) => {});

問題:

我怎么知道該proxyES6代理

從代碼的角度來看,您無法做到,因為代理是完全透明的。

唯一知道它是代理的是控制台:

 console.log(proxy);

由於覆蓋在這里 ,這是不可能在一般情況下(沒有至少骯臟的黑客),因為Proxy對象是通過設計透明和模仿的每個系統調用他們的目標。

但是,庫作者意識到有時可能會很不方便,並在其Proxy對象中提供了掛鈎,以便用戶可以檢測到它們。 對於有問題的庫,返回的Proxy為此目的公開了__isProxy屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM