169 похожих чатов

Привет всем! Подскажите пожалуйста, как может такое быть, что функции

выполняются не по порядку?

async function init() {
await health.testPg() // Check is postgres up
//If it's down -- do not start server
await dataSource.initialize().then(async () => {
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

// Routes
app.post("/reg", (req: express.Request, res: express.Response) => reg(req, res))
app.get("/getregs", (req: express.Request, res: express.Response) => seeRegs(req, res))

app.get('*', function(req, res){
res.status(404).send('Page not found :(');
});

app.listen(port, () => {
console.log(`Server started at port ${port}`)
})
})
}

Тут мне выдаёт ошибку от dataSource.initialize() не выполняя health.testPg(), хотя await на месте. Если убрать dataSource.initialize() то все остальное выполняется по порядку

6 ответов

20 просмотров

Await .then? )

Mr.-Anderson 🇺🇦 Автор вопроса
Danila
Await .then? )

Ой, это осталось с момента когда асинка не было) Спасибо, уберу

Mr.-Anderson 🇺🇦 Автор вопроса

Даже если делать health.testPg() init() То сначала выдаст ошибку от dataSource.initialize() внутри init()

Mr.-Anderson 🇺🇦 Автор вопроса
Mr. Anderson 🇺🇦
Даже если делать health.testPg() init() То снач...

node:internal/process/promises:288 triggerUncaughtException(err, true /* fromPromise */); ^ Error: connect ECONNREFUSED 127.0.0.1:5432 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1246:16) { errno: -111, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 5432 } Вот сама ошибка какая то такая (я знаю, что база не поднята, так надо, я как раз healthcheck свой тестирую)

Mr.-Anderson 🇺🇦 Автор вопроса
Mr. Anderson 🇺🇦
node:internal/process/promises:288 tri...

async testPg(): Promise<void> { if ( this.failed >= 10 ) { this.logger.err("Failed connect to PostgreSQL") throw "Failed connect to PostgreSQL" } const pool = await new Pool({ host: process.env.POSTGRES_HOST || "127.0.0.1", port: parseInt(process.env.POSTGRES_PORT || ""), user: process.env.POSTGRES_USER || "", password: process.env.POSTGRES_PASSWORD || "", database: process.env.POSTGRES_DB || "", }) try { await pool.connect() } catch(err) { this.failed += 1 this.logger.wrn("Cannot connect to db. Wait...") setTimeout(() => this.testPg(), 10000) return } this.logger.good("Success connection to PostgreSQL! It's up") pool.end() } Вот сам код healthcheck моего

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта