Как сопоставить или связать HTTP-запрос с db call в Node.js? - PullRequest
4 голосов
/ 03 июля 2019

У меня есть приложение узла с базой данных MySQL.Я хочу сопоставить или сопоставить каждый запрос HTTP с вызовами базы данных MySQL.то есть Требование состоит в том, чтобы каким-то образом передать идентификацию HTTP-запроса последующему асинхронному db-вызову (следующий асинхронный вызов вообще находится в новом контексте).

Пожалуйста, дайте мне несколько советов по этому поводу.

1 Ответ

2 голосов
/ 10 июля 2019

После долгих исследований я обнаружил, что в файле node.js async_hooks имеется API для регистрации обратных вызовов, отслеживающих время жизни асинхронных ресурсов, созданных в приложении Node.js.

const async_hooks = require('async_hooks');
const eid = async_hooks.executionAsyncId(); // Return the ID of the current execution context.
const tid = async_hooks.triggerAsyncId(); // Return the ID of the handle responsible for triggering the callback of the current execution scope to call.
...