2017-10-18 75 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); 

它的工作原理沒有警告。