From 512a903c6177f366eb584899d17a6ca2f391ab71 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Wed, 24 Oct 2018 22:23:01 -0700 Subject: [PATCH] Train Almond: catch syntax errors inside the promise So we can report them to the user Fixes #23 --- browser/new-command.js | 4 +++- browser/trainer.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/browser/new-command.js b/browser/new-command.js index 580858efc..57658b94c 100644 --- a/browser/new-command.js +++ b/browser/new-command.js @@ -173,7 +173,9 @@ class ThingTalkTrainer { } else { let thingtalk = $('#input-command-thingtalk').val(); if (thingtalk.length > 0) { - this._learnThingTalk(thingtalk).then(() => { + Promise.resolve().then(() => { + return this._learnThingTalk(thingtalk); + }).then(() => { $('#thingtalk-group').removeClass('has-error'); $('#thingtalk-error').text(''); this._updateConfirmation(); diff --git a/browser/trainer.js b/browser/trainer.js index f966868bf..18d542bae 100644 --- a/browser/trainer.js +++ b/browser/trainer.js @@ -170,7 +170,9 @@ class ThingTalkTrainer { event.preventDefault(); var tt = $('#thingtalk').val(); - this._learnThingTalk(tt).then((data) => { + Promise.resolve().then(() => { + return this._learnThingTalk(tt); + }).then((data) => { $('#results-container').hide(); $('#thingtalk-editor').addClass('hidden'); $('#thingtalk-group').removeClass('has-error');