Node-Addon-Api Pass Array как аргумент функции

Я пытаюсь создать базовую надстройку нативного узла, где массив javascript передается от узла, а затем обрабатывается в C ++. Проблема в том, что я не могу понять, как правильно передать массив. Я могу создать экземпляр массива без проблем, но назначив его с помощью info [0] .as выдает ошибки.

Мой код с ++

#include <napi.h>

using namespace Napi;
using namespace std;

Value Add(const CallbackInfo& info)
{
Env env = info.Env();Array result = Napi::Array::New(env);
Array a = info[0].As<Array>;

double arg1 = info[1].As<Number>().DoubleValue();
Number num = Napi::Number::New(env, 2 + arg1);

return num;
}

Я получаю ошибку

../cppsrc/main.cpp: In function ‘Napi::Value Add(const Napi::CallbackInfo&)’:
../cppsrc/main.cpp:12:21: error: conversion from ‘<unresolved overloaded function type>’ to non-scalar type ‘Napi::Array’ requested
Array a = info[0].As<Array>;
~~~~~~~~^~~~~~~~~

Как правильно передать массив в C ++? Это вообще возможно?

0

Решение

Мне не удалось найти решение актуального вопроса о взаимодействии с объектом Javascript напрямую с помощью node-addon-api. Решением, которое я выбрал, является JSON.stringify любых массивов или объектов, а затем синтаксический анализ в c ++ — библиотека с именем быстрый JSON. Это единственный способ взаимодействия с объектами javascript, которые мне удалось найти.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]