C++ 是否可以用新版本的Nan组合操作?

C++ 是否可以用新版本的Nan组合操作?,c++,node.js,node.js-addon,node.js-nan,C++,Node.js,Node.js Addon,Node.js Nan,Nan 2.0,与Node 4.0兼容,以及几个返回它们的函数。然而,它们中的大多数似乎不接受可能对象,在某些情况下,我希望组合这些方法。例如(假设我有一个函数返回一个MaybeLocal),我想做returnnan::to(Nan::Get(object,key)),而不是 Nan::MaybeLocal<Value> maybe_value = Nan::Get(object, key); if (maybe_value.IsEmpty()) { return Nan::No

Nan 2.0,与Node 4.0兼容,以及几个返回它们的函数。然而,它们中的大多数似乎不接受
可能
对象,在某些情况下,我希望组合这些方法。例如(假设我有一个函数返回一个
MaybeLocal
),我想做
returnnan::to(Nan::Get(object,key))
,而不是

Nan::MaybeLocal<Value> maybe_value = Nan::Get(object, key);
if (maybe_value.IsEmpty()) {
  return Nan::Nothing;
}
return Nan::To<String>(maybe_value.ToLocalChecked());
Nan::MaybeLocal maybe\u value=Nan::Get(对象,键);
if(可能是_value.IsEmpty()){
返回:无;
}
返回Nan::To(可能是_value.ToLocalChecked());

有没有一种合理的方法可以做到这一点,而不必为每一个函数编写自己的包装器?

我认为只需返回
或者\u value.ToLocalChecked()
就可以了。由于
MaybeLocal
模板在空实例中将返回
Nothing
,而在填充的实例中将返回一个
String
,因此您需要自己处理所有的强制转换,还是您只是过度使用了它?
可能值
MaybeLocal
的类型有
MaybeLocal
,所以
可能值。ToLocalChecked()
具有类型
Local
。此函数的返回类型是什么?什么允许NaN::Nothing和Local?“假设我有一个返回
MaybeLocal
”的函数
Nan::To
具有返回类型
MaybeLocal
。净结果,此函数返回一个可能为空的
MaybeLocal
<代码>Nan::To(Nan::Get(对象,键))会做完全相同的事情,对吗
Nan::To()
对于这种转换失败的情况,返回一个
Maybe