2016-06-23 1 views
0

나는 어떤 종류의 객체를 만들 수있는 JavaScript를 작성했습니다. 개발 편의성을 위해 모든 객체를 나열 (정렬, 그룹화 등) 할 수있는 웹 프론트 엔드를 만들었습니다. 따라서이 프론트 엔드에는 모든 오브젝트 목록이 필요합니다.크롬 애드온의 Javascript : 약한 참조를 지원합니까?

불행히도 JavaScript는 약한 참조 (WeakMap 및 WeakRef 만 있지만 실제 약한 참조는 지원하지 않음)를 유지하므로이 목록을 유지하면 더 이상 가비지 수집되지 않습니다. 그래서 현재 어떤 개체가 사용되는지 개발자에게 보여줄 수는 없습니다.

이제이 도구를 React Toolbar와 같은 애드온에 제공하려고합니다. 이 privilidged 코드 컨텍스트에서 약한 참조를 사용할 수 있습니까? finalizer를 개체에 부착 할 수도 있습니다.

답변

0

내 검색에서 Weak reference 문서 을 찾았지만 Chrome에서도 제대로 작동하지 않았습니다.

How do I make a class support weak references?에 명시된 클래스에서 Javascript의 약한 참조를 지원하려면 QueryInterface 메서드가 nsISupportsWeakReference 인터페이스에 대한 개체를 반환하는지 확인해야합니다.

주어진 설명서를 읽고 예제 코드를 사용하면 도움이 될 수 있습니다.

+0

흠, 불행히도 크롬을 아직 발견하지 못했지만 약한 npm 패키지 만 있고 v8 소스와 연결된 C 코드가 포함되어 있습니다. –

+0

또한 Firefox 버전도 제대로 작동하지 않습니다. 왜냐하면 권한 부여 된 코드 (즉, 애드온 자체로 작성된 코드)만이 내 연구에 따라 약하게 참조 될 수 있기 때문입니다. –