当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Node.js util.types.isExternal(value)用法及代码示例

util.types.isExternal(value)

添加于:v10.0.0

参数

如果值是本机 External 值,则返回 true

本机 External 值是一种特殊类型的对象,它包含一个用于从本机代码访问的原始 C++ 指针 (void*),并且没有其他属性。此类对象由 Node.js 内部或本机插件创建。在 JavaScript 中,它们是带有 null 原型的 frozen 对象。

#include <js_native_api.h>
#include <stdlib.h>
napi_value result;
static napi_value MyNapi(napi_env env, napi_callback_info info) {
  int* raw = (int*) malloc(1024);
  napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result);
  if (status != napi_ok) {
    napi_throw_error(env, NULL, "napi_create_external failed");
    return NULL;
  }
  return result;
}
...
DECLARE_NAPI_PROPERTY("myNapi", MyNapi)
...
const native = require('napi_addon.node');
const data = native.myNapi();
util.types.isExternal(data); // returns true
util.types.isExternal(0); // returns false
util.types.isExternal(new String('foo')); // returns false

有关 napi_create_external 的更多信息,请参阅 napi_create_external()

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 util.types.isExternal(value)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。