Я изучаю node.js, чтобы решить конкретную проблему. При этом я экспериментирую с обещаниями и обратными вызовами, чтобы попытаться лучше понять.
Я использую REPL node.js для ввода и / или копирования и вставки кода, чтобы увидеть, как он работает.
Я часто сталкиваюсь с проблемой, когда REPL не распознает конец многострочного блока кода или объявления функции. Это происходит так часто и так расстраивает, что я действительно хотел бы понять, почему это происходит и как решить.
Я пробовал закрывать скобки и точки с запятой в разных местах, чтобы проверить, не отключен ли мой синтаксис, но обычно это не решает проблему, и мне приходится использовать .break, который не выполняет код (насколько это возможно). насколько я знаю).
> function fakeResult(c) {
... var tmp = {
..... 'cp_id':c,
..... 'is_back':true
..... };
... return tmp;
... }
undefined
> function fakeCallPayoff(cp_id,time) {
... var out = new Promise( (resolve,reject) {
..... setTimeout(() => resolve(fakeResult),time,cp_id) });
... return out;
... }
...
...
Я ожидаю, что после заключительной фигурной скобки многострочный ввод будет выполнен, объявив функцию fakeCall, вернув 'undefined' и подняв новый курсор. Вместо этого я навсегда заперт в своем многострочном блоке.