pub unsafe extern "C" fn JS_PromiseThen( ctx: *mut JSContext, promise: JSValue, on_fulfilled: JSValue, on_rejected: JSValue, ) -> JSValue