Не могу выполнить массив методов javascript - PullRequest
0 голосов
/ 04 июня 2018

Я использую Go.js, чтобы сделать diagram точно так же, как один из их образца . На данный момент их диаграмма static, и я пытаюсь сделать ее dynamic.Диаграмма состоит из компонентов (template) с портами input и output.В примере для создания компонента необходимо вызвать метод makeTemplate и добавить указать порты input и output, например:

makeTemplate(name_of_template, path_to_image, color,
                 [makePort("L", true), makePort("R", true)],//inputs
                 [makePort("UL", false), makePort("ML", false)];//outputs

Теперь у меня была первоначальная идея создатьфункция, которая возвращает объект, содержащий массивы с моими makePort вызовами функций.

function createPorts(input,output){
    var ports = {
        "input":[],
        "output":[],
    };
    for(var i = 0; i < input; i++)
        ports.input.push(function(){ makePort("IN"+i, true); });
    for(var i = 0; i < output; i++)
        ports.output.push(function(){ makePort("OUT"+i, true); });
    return ports
}

и вызов метода makeTemplate() следующим образом:

makeTemplate(name, path_to_image, color,
                [],
                [createPorts(0,1).output]);

Но я получаю error:

Uncaught Error: Unknown initializer "function(){
makePort("OUT", true);}" 
for object being constructed by 
GraphObject.make: Panel(Panel.Vertical)#427
...