提交 d18ac765 编写于 作者: A Alex Dima

Cache proxied methods

上级 4339a247
......@@ -45,15 +45,17 @@ export abstract class AbstractThreadService implements IDispatcher {
}
private _createProxy<T>(proxyId: string): T {
// TODO@Alex: should all these methods be cached for this proxy ?
let handler = {
get: (target, name) => {
return (...myArgs: any[]) => {
return this._callOnRemote(proxyId, name, myArgs);
};
if (!target[name]) {
target[name] = (...myArgs: any[]) => {
return this._callOnRemote(proxyId, name, myArgs);
};
}
return target[name];
}
};
return new Proxy({}, handler);
return new Proxy(Object.create(null), handler);
}
set<T, R extends T>(identifier: ProxyIdentifier<T>, value: R): R {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册