javascript - 如何在“等待”请求完成后立即执行功能?
问题描述
关于 Promises 和 async 等的整件事让我发疯了。每当我连接到数据库时,我只需要运行一个函数。(此代码工作正常,但我不知道何时await
完成。帮助!
async function connectToDB() {
console.log("Connecting to database...");
database = await pool.connect();
// I want to run some function only after the connection has been made.
}
我正在使用 node.js 和 postgreSQL 作为数据库管理器。
解决方案
异步函数返回 aPromise
并且当您await
使用异步函数时,您表示脚本在该函数完成之前不应继续
您可以替换// I want to run some function only after the connection has been made.
为您的代码,并且该代码只会在pool.connect()
完成后运行。
您也可以await connectToDb()
将其设为异步函数。
await connectToDb();
// other code that is run immediately after connectToDb finishes
// --- OR ---
connectToDb().then(() => {
// other code that is run immediately after connectToDb finishes
});
推荐阅读
- programming-languages - 如何在解释性编程语言中实现函数调用?
- php - 更新表单时我的 sql 选择正在更新
- javascript - 如何将变量传递给对象方法
- javascript - javascript 在使用 while 语句时忽略我的 IF 语句
- javascript - 过滤 $lookup 的结果
- html - Material-UI Pickers:将日期显示为(M、DD、YYYY)->(2019 年 4 月 17 日)
- javascript - 如何防止事务写入冲突和异步运行事务?
- r - jsonlite:来自 Python 请求包的对象上的 toJSON 会导致数组,直接调用 API 不会
- mysql - 我被逻辑困住了,也许我做错了 SQL
- python - Ansible任务创建目录并检查是否存在失败