mirror of
https://github.com/napi-rs/napi-rs.git
synced 2025-12-08 19:56:07 +00:00
fix(napi): cleanup inner Stream when complete (#2643)
- Close https://github.com/napi-rs/napi-rs/issues/2604
This commit is contained in:
parent
4407678a25
commit
fddf6109b0
@ -564,7 +564,7 @@ fn pull_callback_impl<
|
||||
let env = Env::from_raw(env);
|
||||
let promise = env.spawn_future_with_callback(
|
||||
async move { stream.next().await.transpose() },
|
||||
|env, val| {
|
||||
move |env, val| {
|
||||
let mut output = Object::new(&env)?;
|
||||
if let Some(val) = val {
|
||||
output.set("value", val)?;
|
||||
@ -572,10 +572,8 @@ fn pull_callback_impl<
|
||||
} else {
|
||||
output.set("value", Null)?;
|
||||
output.set("done", true)?;
|
||||
drop(unsafe { Box::from_raw(data.cast::<S>()) });
|
||||
}
|
||||
unsafe {
|
||||
crate::__private::log_js_value("log", env.0, [output.0.value]);
|
||||
};
|
||||
Ok(output.0.value)
|
||||
},
|
||||
)?;
|
||||
@ -651,6 +649,7 @@ fn pull_callback_impl_bytes<
|
||||
} else {
|
||||
let close_fn = close.borrow_back(&env)?;
|
||||
close_fn.call(())?;
|
||||
drop(unsafe { Box::from_raw(data.cast::<S>()) });
|
||||
}
|
||||
drop(enqueue);
|
||||
drop(close);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user