Понимание того, как работать с «параллелизмом» при обновлении сигналов vega - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь программно манипулировать сигналом, и я подозреваю, что я каким-то образом столкнулся с ошибкой параллелизма, когда обновление было проигнорировано

В этом примере vega (редактор) вы можете запустить следующий фрагмент кода )

Следующее неверно (не включает «GA»)

VEGA_DEBUG.view.signal("select_toggle", true);
VEGA_DEBUG.view.signal("select_tuple", {"unit":"","fields":[{"field":"STATE","channel":"x","type":"E"}],"values":["GA"]});
VEGA_DEBUG.view.signal("select_tuple", {"unit":"","fields":[{"field":"STATE","channel":"x","type":"E"}],"values":["ID"]});
VEGA_DEBUG.view.runAsync();

Однако верно следующее (единственное отличие заключается в принудительном runAsync()

VEGA_DEBUG.view.signal("select_toggle", true);
VEGA_DEBUG.view.signal("select_tuple", {"unit":"","fields":[{"field":"STATE","channel":"x","type":"E"}],"values":["GA"]});
VEGA_DEBUG.view.runAsync();
VEGA_DEBUG.view.signal("select_toggle", true);
VEGA_DEBUG.view.signal("select_tuple", {"unit":"","fields":[{"field":"STATE","channel":"x","type":"E"}],"values":["ID"]});
VEGA_DEBUG.view.runAsync();

Однако я хочу, чтобы сигнал срабатывал только с и"GA" и "ID", а не сначала ["GA"], затем ["GA", "ID"] - - есть ли способ добиться этого? В частности, я не понимаю, почему первое решение привело к неверному результату.

Спасибо!

...