C++ 是否可以用新版本的Nan组合操作?
Nan 2.0,与Node 4.0兼容,以及几个返回它们的函数。然而,它们中的大多数似乎不接受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
可能
对象,在某些情况下,我希望组合这些方法。例如(假设我有一个函数返回一个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
。