c++ - 'v8::Value::ToNumber': 被宣布弃用

标签 c++ node.js v8 node-gyp deprecation-warning

我正在尝试访问一个已知对象并获取其属性之一作为 Number

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

Isolate *isolate = args.GetIsolate();

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

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

发出以下警告:

warning C4996: 'v8::Value::ToNumber': was declared deprecated
....node-gyp\8.5.0\include\node\v8.h(9578): note: see declaration of 'v8::Value::ToNumber'

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

最佳答案

看起来 v8.h 中的“可能使用版本”注释将我引向了错误的方向。弃用通知似乎适用于缺少隔离的方法重载。如果你通过隔离...

->ToNumber(isolate);

它在没有警告的情况下工作。

关于c++ - 'v8::Value::ToNumber': 被宣布弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46807777/

相关文章:

c++ - 如何在 std::future 中使用 decltype?

node.js - Mongoose 中的人龄虚拟属性(property)

json - MongoDB:BSON 到 JSON

electron - 为什么electron app可以上架MAC App Store?

v8 - 有没有办法向 V8 Turbofan 提供 asm.js 或 WebAssembly 代码?

javascript - 我如何知道 V8 中有哪些功能?

c++ - QTextStream stdin readline 不暂停输入

c++ - qt c++中反序列化 map 的大小增加

Node.js 将流复制到文件中而不消耗

c++ - c++ 中字符串的动态构造 - 什么是更 c++-ish 的方法来做到这一点?