mirror of
https://github.com/bellard/quickjs.git
synced 2024-11-22 05:38:11 +08:00
added Promise.withResolvers
This commit is contained in:
parent
feefdb1742
commit
5fc27dc7cf
2
TODO
2
TODO
@ -63,5 +63,5 @@ Optimization ideas:
|
|||||||
Test262o: 0/11262 errors, 463 excluded
|
Test262o: 0/11262 errors, 463 excluded
|
||||||
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
|
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
|
||||||
|
|
||||||
Result: 16/76707 errors, 1497 excluded, 8237 skipped
|
Result: 16/76719 errors, 1497 excluded, 8231 skipped
|
||||||
Test262 commit: 6cbb6da9473c56d95358d8e679c5a6d2b4574efb
|
Test262 commit: 6cbb6da9473c56d95358d8e679c5a6d2b4574efb
|
||||||
|
16
quickjs.c
16
quickjs.c
@ -47662,17 +47662,14 @@ static JSValue js_promise_resolve(JSContext *ctx, JSValueConst this_val,
|
|||||||
return result_promise;
|
return result_promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
static JSValue js_promise_withResolvers(JSContext *ctx,
|
||||||
static JSValue js_promise___newPromiseCapability(JSContext *ctx,
|
JSValueConst this_val,
|
||||||
JSValueConst this_val,
|
int argc, JSValueConst *argv)
|
||||||
int argc, JSValueConst *argv)
|
|
||||||
{
|
{
|
||||||
JSValue result_promise, resolving_funcs[2], obj;
|
JSValue result_promise, resolving_funcs[2], obj;
|
||||||
JSValueConst ctor;
|
if (!JS_IsObject(this_val))
|
||||||
ctor = argv[0];
|
|
||||||
if (!JS_IsObject(ctor))
|
|
||||||
return JS_ThrowTypeErrorNotAnObject(ctx);
|
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))
|
if (JS_IsException(result_promise))
|
||||||
return result_promise;
|
return result_promise;
|
||||||
obj = JS_NewObject(ctx);
|
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);
|
JS_DefinePropertyValue(ctx, obj, JS_ATOM_reject, resolving_funcs[1], JS_PROP_C_W_E);
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static __exception int remainingElementsCount_add(JSContext *ctx,
|
static __exception int remainingElementsCount_add(JSContext *ctx,
|
||||||
JSValueConst resolve_element_env,
|
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("allSettled", 1, js_promise_all, PROMISE_MAGIC_allSettled ),
|
||||||
JS_CFUNC_MAGIC_DEF("any", 1, js_promise_all, PROMISE_MAGIC_any ),
|
JS_CFUNC_MAGIC_DEF("any", 1, js_promise_all, PROMISE_MAGIC_any ),
|
||||||
JS_CFUNC_DEF("race", 1, js_promise_race ),
|
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),
|
JS_CGETSET_DEF("[Symbol.species]", js_get_this, NULL),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ Object.is
|
|||||||
optional-catch-binding
|
optional-catch-binding
|
||||||
optional-chaining
|
optional-chaining
|
||||||
Promise
|
Promise
|
||||||
promise-with-resolvers=skip
|
promise-with-resolvers
|
||||||
Promise.allSettled
|
Promise.allSettled
|
||||||
Promise.any
|
Promise.any
|
||||||
Promise.prototype.finally
|
Promise.prototype.finally
|
||||||
|
Loading…
Reference in New Issue
Block a user