На сайте джаваскрипт.ру есть пример deferred в JS. Есть ли аналог в nodejs?
function vote(id) {
var deferred = sendData("http://site.ru/vote.php", id)
deferred.addCallback(processResult)
deferred.addCallback(updateVoteInfo)
deferred.addErrback(handleError)
}
function sendData(url, data) {
var xhr = new XmlHttpRequest()
xhr.open("POST", url, true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
var deferred = new Deferred()
xhr.onreadystatechange = function() {
if (xhr.readyState==4) {
if (xhr.status==200) {
deferred.callback(xhr.responseText)
} else {
deferred.errback(xhr.statusText)
}
}
}
xhr.send("data="+encodeURIComponent(data))
return deferred
}
function processResult(data) {
var data = eval( '('+data+')' )
showMessage(data.text)
return data
}