src: changing node_file's usage of v8::Resolver

node_file was casting back and forth between v8::Resolver and
v8::Promise. This is unnecessary; most of the time it just wants the
v8::Resolver, converting to the v8::Promise only as a return value.

PR-URL: https://github.com/nodejs/node/pull/18765
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Kyle Farnung <kfarnung@microsoft.com>
This commit is contained in:
Jimmy Thomson 2018-02-13 11:40:52 -08:00 committed by Kyle Farnung
parent cbe6d5c519
commit 197258bda7

View File

@ -283,7 +283,8 @@ void FSReqWrap::SetReturnValue(const FunctionCallbackInfo<Value>& args) {
void FSReqPromise::SetReturnValue(const FunctionCallbackInfo<Value>& args) {
Local<Context> context = env()->context();
args.GetReturnValue().Set(
object()->Get(context, env()->promise_string()).ToLocalChecked());
object()->Get(context, env()->promise_string()).ToLocalChecked()
.As<Promise::Resolver>()->GetPromise());
}
void NewFSReqWrap(const FunctionCallbackInfo<Value>& args) {
@ -300,7 +301,7 @@ FSReqPromise::FSReqPromise(Environment* env)
stats_field_array_(env->isolate(), 14) {
auto resolver = Promise::Resolver::New(env->context()).ToLocalChecked();
object()->Set(env->context(), env->promise_string(),
resolver.As<Promise>()).FromJust();
resolver).FromJust();
}
FSReqPromise::~FSReqPromise() {
@ -315,9 +316,7 @@ void FSReqPromise::Reject(Local<Value> reject) {
Local<Value> value =
object()->Get(env()->context(),
env()->promise_string()).ToLocalChecked();
CHECK(value->IsPromise());
Local<Promise> promise = value.As<Promise>();
Local<Promise::Resolver> resolver = promise.As<Promise::Resolver>();
Local<Promise::Resolver> resolver = value.As<Promise::Resolver>();
resolver->Reject(env()->context(), reject).FromJust();
}
@ -336,7 +335,6 @@ void FSReqPromise::Resolve(Local<Value> value) {
Local<Value> val =
object()->Get(env()->context(),
env()->promise_string()).ToLocalChecked();
CHECK(val->IsPromise());
Local<Promise::Resolver> resolver = val.As<Promise::Resolver>();
resolver->Resolve(env()->context(), value).FromJust();
}