Tengo una función en mi aplicación nodejs llamada get_source_at. Toma un uri como argumento y su propósito es devolver el código fuente de ese uri. Mi problema es que no sé cómo hacer que la función invoque sincrónicamente solicitud, en lugar de darle esa función de devolución de llamada. I quiero flujo de control para detener durante los pocos segundos que tarda en cargar el uri. ¿Cómo puedo conseguir esto?¿Cómo puedo hacer que esta llamada para solicitar en nodejs sea sincrónica?
function get_source_at(uri){
var source;
request({ uri:uri}, function (error, response, body) {
console.log(body);
});
return source;
}
Además, he leído acerca de 'eventos' y como nodo es 'evented' y yo debería respetar que al escribir mi código. Me complace hacerlo, pero tengo que asegurarme de tener el código fuente de un uri antes de continuar con el flujo de control de mi aplicación, así que si no es haciendo la función sincrónica, ¿cómo se puede hacer? ?
Si bien la respuesta de Lai es técnicamente correcta (así que la he marcado como respuesta), mi solución final necesitaba más trabajo. Cuando tiene una cantidad indeterminada de llamadas para solicitar puede usar el patrón en el código de muestra que se encuentra en https://gist.github.com/2234466 – Trindaz