2015-07-07 4 views
-1

В настоящее время все еще понимают логический поток типичного веб-приложения. В PHP, поскольку его не async, как правило, нам придется дождаться завершения вставки/обновления базы данных, прежде чем возвращать ответ пользователю.NodeJs поток программы

Но поскольку в NodeJs у нас может быть запрос базы данных Async с обратным вызовом и возвратом ответа пользователю еще до того, как обратный вызов вызывается базой данных.

В такой ситуации, предполагая, что проверка данных уже была выполнена, типичное приложение nodeJs ожидает ответчика перед ответом или всегда предполагает, что запрос является успешным и возвращает ответ пользователю?

+0

Вы не можете вернуть ответ клиенту, прежде чем получить ответ от базы данных (asuming вы хотите, чтобы служить данные из БД клиенту). –

ответ

0

Я не совсем уверен, что вы просите, но вы должны взглянуть на эти объяснения запросов к базе данных в асинхронном режиме:

Если я истолковал ваше вопрос правильно спросите, когда приложение-узел вернет ответ, правильно? Как правило, вы возвращаете ответ пользователю (например, обновляете вид клиента) в обратном вызове. Предоставляя обратный вызов, вы можете убедиться, что ответ получен и успешный, прежде чем двигаться в этом потоке. Вот немного кода для иллюстрации:

functionThatTakesForever(argument, function(error, response){ //this is the callback 
    if(error) 
     console.log(error); 
    else{ 
     \\do something with response to return the response to the user 
    } 
}); 
Смежные вопросы