2017-10-18 76 views
0

我试图访问一个已知的对象并获取其属性中的一个作为Number“V8 ::值:: ToNumber”:被宣布弃用

不幸的是,下面的代码...

Isolate *isolate = args.GetIsolate(); 

Local<Object> opts = args[0]->ToObject(); 

Local<Number> mode = opts->Get(String::NewFromUtf8(isolate, "mode"))->ToNumber(); 

是给下面的警告:

警告C4996: 'V8 ::值:: ToNumber':被宣布弃用
....节点GYP \ 8.5.0 \包括\节点\ V8 .h(9578):注意:见声明配给'v8 :: Value :: ToNumber'

在v8.h中,我注意到了关于ToNumber的评论:“Use maybe version”。我试图将它转换为Maybe,但我还没有能够正确编译。使用Maybe并获取Number对象的正确方法是什么?

回答

1

看起来像v8.h的“使用可能的版本”评论导致我在错误的方向。不赞成通知似乎适用于缺少隔离的方法重载。如果你通过隔离...

->ToNumber(isolate); 

它的工作原理没有警告。