mirror of
https://github.com/bellard/quickjs.git
synced 2025-09-29 14:36:30 +03:00
added Promise.withResolvers
This commit is contained in:
16
quickjs.c
16
quickjs.c
@@ -47662,17 +47662,14 @@ static JSValue js_promise_resolve(JSContext *ctx, JSValueConst this_val,
|
||||
return result_promise;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static JSValue js_promise___newPromiseCapability(JSContext *ctx,
|
||||
JSValueConst this_val,
|
||||
int argc, JSValueConst *argv)
|
||||
static JSValue js_promise_withResolvers(JSContext *ctx,
|
||||
JSValueConst this_val,
|
||||
int argc, JSValueConst *argv)
|
||||
{
|
||||
JSValue result_promise, resolving_funcs[2], obj;
|
||||
JSValueConst ctor;
|
||||
ctor = argv[0];
|
||||
if (!JS_IsObject(ctor))
|
||||
if (!JS_IsObject(this_val))
|
||||
return JS_ThrowTypeErrorNotAnObject(ctx);
|
||||
result_promise = js_new_promise_capability(ctx, resolving_funcs, ctor);
|
||||
result_promise = js_new_promise_capability(ctx, resolving_funcs, this_val);
|
||||
if (JS_IsException(result_promise))
|
||||
return result_promise;
|
||||
obj = JS_NewObject(ctx);
|
||||
@@ -47687,7 +47684,6 @@ static JSValue js_promise___newPromiseCapability(JSContext *ctx,
|
||||
JS_DefinePropertyValue(ctx, obj, JS_ATOM_reject, resolving_funcs[1], JS_PROP_C_W_E);
|
||||
return obj;
|
||||
}
|
||||
#endif
|
||||
|
||||
static __exception int remainingElementsCount_add(JSContext *ctx,
|
||||
JSValueConst resolve_element_env,
|
||||
@@ -48177,7 +48173,7 @@ static const JSCFunctionListEntry js_promise_funcs[] = {
|
||||
JS_CFUNC_MAGIC_DEF("allSettled", 1, js_promise_all, PROMISE_MAGIC_allSettled ),
|
||||
JS_CFUNC_MAGIC_DEF("any", 1, js_promise_all, PROMISE_MAGIC_any ),
|
||||
JS_CFUNC_DEF("race", 1, js_promise_race ),
|
||||
//JS_CFUNC_DEF("__newPromiseCapability", 1, js_promise___newPromiseCapability ),
|
||||
JS_CFUNC_DEF("withResolvers", 0, js_promise_withResolvers ),
|
||||
JS_CGETSET_DEF("[Symbol.species]", js_get_this, NULL),
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user