Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как обработать ошибку несколько раз и создать исключение? (https://javascript.ru/forum/misc/71854-kak-obrabotat-oshibku-neskolko-raz-i-sozdat-isklyuchenie.html)

jtag 18.12.2017 01:06

Как обработать ошибку несколько раз и создать исключение?
 
Как обработать ошибку подключения к mysql 5 раз и создать исключение?
try {
            await sqlConnection()
        }
        catch (e) {
            console.log(e);
        }

function sqlConnection() {
        return new Promise(function (resolve, reject) {
            con.connect(function (err) {
                if (err) {
                    reject(err);
                }
                else {
                    console.log("Connected to mysql");
                    resolve();
                }
            })
        })
    }

Aetae 18.12.2017 05:06

Так?
try {
  await sqlConnection()
}
catch (e) {
  console.log(e);
}

function sqlConnection() {
  var attempts = 5;
  return new Promise(function (resolve, reject) {
    con.connect(function connect(err) {
      if (err) {
        if(attempts--) con.connect(connect);
        else reject(err);
      } else {
        console.log("Connected to mysql");
        resolve();
      }
    })
  })
}

jtag 18.12.2017 14:39

Спасибо. Все отлично работает ;


Часовой пояс GMT +3, время: 19:26.