pub struct EventEmitterInner { /* private fields */ }Expand description
EventEmitter 单线程 Inner — 用 Rc<RefCell<...>> 共享。
高层类(Browser / Page 等)持有 Rc<EventEmitterInner> 并把
EventEmitter trait 委托到 Inner。
@trace REQ-BAO-API-006 [level:library]
Implementations§
Source§impl EventEmitterInner
impl EventEmitterInner
Sourcepub fn new() -> EventEmitterInner
pub fn new() -> EventEmitterInner
构造空 Inner。
@trace REQ-BAO-API-006 [level:library]
Sourcepub fn on(&self, event: &str, handler: Arc<dyn Fn(&[Value])>) -> u64
pub fn on(&self, event: &str, handler: Arc<dyn Fn(&[Value])>) -> u64
注册持久 handler。
@trace REQ-BAO-API-006 [level:library]
Sourcepub fn once(&self, event: &str, handler: Arc<dyn Fn(&[Value])>) -> u64
pub fn once(&self, event: &str, handler: Arc<dyn Fn(&[Value])>) -> u64
注册一次性 handler。
@trace REQ-BAO-API-006 [level:library]
Sourcepub fn off(&self, event: &str, handler_id: u64) -> SubscriptionResult
pub fn off(&self, event: &str, handler_id: u64) -> SubscriptionResult
按 ID 移除 handler。
@trace REQ-BAO-API-006 [level:library]
Sourcepub fn remove_all_listeners(&self, event: Option<&str>)
pub fn remove_all_listeners(&self, event: Option<&str>)
清空指定事件或全部事件。
@trace REQ-BAO-API-006 [level:library]
Sourcepub fn listener_count(&self, event: &str) -> usize
pub fn listener_count(&self, event: &str) -> usize
返回指定事件的 handler 数量。
@trace REQ-BAO-API-006 [level:library]
Trait Implementations§
Source§impl Debug for EventEmitterInner
impl Debug for EventEmitterInner
Source§impl Default for EventEmitterInner
impl Default for EventEmitterInner
Source§fn default() -> EventEmitterInner
fn default() -> EventEmitterInner
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for EventEmitterInner
impl !RefUnwindSafe for EventEmitterInner
impl !Send for EventEmitterInner
impl !Sync for EventEmitterInner
impl !UnwindSafe for EventEmitterInner
impl Unpin for EventEmitterInner
impl UnsafeUnpin for EventEmitterInner
Blanket Implementations§
Source§impl<T> AsCtxPtr for Twhere
T: ?Sized,
impl<T> AsCtxPtr for Twhere
T: ?Sized,
Source§fn as_ctx_ptr(&self) -> *mut Selfwhere
Self: Sized,
fn as_ctx_ptr(&self) -> *mut Selfwhere
Self: Sized,
self’s address as *mut Self for deferred-task / scopeguard /
ref_guard ctx slots. The closures/trampolines deref it as shared
(&*p) — every method they reach is &self post-R-2, so no write
provenance is required; the *mut spelling is purely to match the
existing DerefOnDrop / HasAutoFlush / RefCount ABI.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert