2013-04-01 22 views
18

Utilizziamo request per effettuare richieste http con node.js. Vorremmo dare all'utente la possibilità di interrompere la richiesta quando decide. Ciò significa che dobbiamo attivare l'abort() dall'esterno della funzione di richiesta. Forse possiamo controllare una variabile esterna dall'interno della funzione. (Abbiamo già provato a impostare il timeout a zero dopo l'avvio della richiesta, che non funziona.) Forse impostiamo la richiesta variabile su null. Conosci un modo migliore per farlo?node.js: come interrompere una richiesta http già avviata

qui è esempio di codice per mostrare che tipo di richiesta di cui stiamo parlando:

app.js:

var http = require('http'); 
var request = require("request"); 

http.createServer().listen(1337, "127.0.0.1"); 

request({uri: 'http://stackoverflow.com' }, function (error, response, body) { 
    console.log('url requested ') ; 
    if (!error){ 
     console.log(body); 
    } 
    else 
    { 
     console.log(error); 
    } 
}); 

risposta

57

La funzione richiesta restituisce un oggetto di richiesta. Basta chiamare lo abort()?

var r = request({uri: 'http://stackoverflow.com' }, function (error, response, body) { 
    console.log('url requested ') ; 
    if (!error){ 
     console.log(body); 
    } 
    else 
    { 
     console.log(error); 
    } 
}); 

r.abort(); 
+5

non ci sono molti ragazzi che possono rispondere a domande node.js e un diritto. Sei uno di loro. –

Problemi correlati