Потерпи меня, если мое описание неуклюже, так как я новичок в Jint и только собираюсь разобраться с ним.
Проблема заключается в использовании следующего кода в Jint:
var param = JsValue.FromObject(_jsEngine, row);
var transforms = this._jsEngine.GetValue("transformer");
var result = transforms.Invoke(param);
сообщение об ошибке - «Несоответствие количества параметров».
«Строка» (строка данных с сервера sql) - просто простые числа.
Этот код исправен, пока не было таблицы для преобразования, котораясодержит одно из имен столбцов как 'item'.
Должно быть что-то, чего мне не хватает в отношении того, как Jint интерпретирует преобразование имени элемента ключа ..
В данный момент я не могу думатьлюбого хорошего исправления, не сообщая клиенту об изменении имени столбца, что не является опцией.
PS Я обнаружил, что есть специальная функция преобразователя (), записанная следующим образом:
this._jsEngine.Execute
(@"
var transformer =
(
function() {
var invocation =
function(row)
{
'use strict';
var newRow = {}
fieldSelectFunctions.forEach(
function(g, index, array)
{
g(row, newRow);
}
);
return newRow;
};
invocation.addSelectFunction =
function(g)
{
'use strict';
fieldSelectFunctions.push(g);
};
var fieldSelectFunctions = [];
return invocation;
}
)();
");