feat: 实现 Promise.allKeyed 与 keyed 共享核

This commit is contained in:
2026-09-24 08:46:04 +00:00
parent d0b47a6610
commit 821e24cd0b
4 changed files with 311 additions and 7 deletions
+3 -2
View File
@@ -12,8 +12,8 @@ use oxide_types::value::JsValue;
use crate::vm::{FrameArgs, FrameContinuation, Vm};
use super::aggregate::{
promise_static_all, promise_static_all_settled, promise_static_any, promise_static_race, promise_static_reject,
promise_static_resolve, promise_static_try, promise_static_with_resolvers,
promise_static_all, promise_static_all_keyed, promise_static_all_settled, promise_static_any, promise_static_race,
promise_static_reject, promise_static_resolve, promise_static_try, promise_static_with_resolvers,
};
use super::reactions::{promise_catch, promise_finally, promise_then};
use super::{is_constructor_value, PromiseState, PromiseStateKind};
@@ -285,6 +285,7 @@ impl Vm {
("all", promise_static_all as *const (), 1),
("race", promise_static_race as *const (), 1),
("allSettled", promise_static_all_settled as *const (), 1),
("allKeyed", promise_static_all_keyed as *const (), 1),
("any", promise_static_any as *const (), 1),
("withResolvers", promise_static_with_resolvers as *const (), 0),
("try", promise_static_try as *const (), 1),