Z bardzo skomplikowanych powodów poszukuję lepszego zrozumienia elementów Node.JS i odkryłem dwie funkcje o nieznanym przeznaczeniu.Co to są funkcje getHiddenValue i setHiddenValue Node.JS, które zawijają GetPrivate i SetPrivate V8?
To są funkcje i sposoby dostępu do nich.
process.binding('util').setHiddenValue
process.binding('util').getHiddenValue
Od their native code declarations, to jasne, że owinąć następujące funkcje V8:
v8::Object::SetPrivate
v8::Object::GetPrivate
Ja również trochę fragment tego rodzaju-z pokazuje, co mogą zrobić.
'use strict';
var binding = process.binding('util');
var o = {};
binding.setHiddenValue(o, 7, 'testing123');
console.log(binding.getHiddenValue(o, 7)); // returns 'testing123'
Jednak byłem w stanie znaleźć żadnej dokumentacji na co te tak zwane „ukryte wartości” są przeznaczone, lub w inny sposób określić, dlaczego są one potrzebne w węźle lub w V8.
Czy ktoś może rzucić nieco światła na ich prawdziwy cel? , te pojawia
Dla odniesienia się jedynymi poprawnymi wartościami można użyć, aby powiązać dane przez (wyższa niż 7 padnie):
alpn_buffer_private_symbol: 0,
arrow_message_private_symbol: 1,
contextify_context_private_symbol: 2,
contextify_global_private_symbol: 3,
decorated_private_symbol: 4,
npn_buffer_private_symbol: 5,
processed_private_symbol: 6,
selected_npn_buffer_private_symbol: 7,
Ponieważ nie są udokumentowane, używanie ich jest z pewnością bardzo złym pomysłem? :-) Mogliby zmienić z jednej kropki na następną. –
@ T.J.Crowder Rozumiem to. Moje cele są bardzo niezwykłe. :) –