Lütfen yeni ilahlığımı sözler konseptiyle bağışlayın. Node.js.'deki Q modülünü kullanıyorum. Gerekli adımları tamamladıktan sonra geri çağırma yapmak için bir işlev var. Sorun, Q vaatinden geri arama işlevini çağırmak istediğimde ortaya çıkar.Bir geri dönüş gerçekleştirirken Node.js'de bir Q vaatten mi çıkıyorsunuz?
İstenilen işlevsellik, son adıma ulaştığımda geri arama çağrısı yapabilmek ve artık söz zincirinde bulunmamak. Bu nedenle, geri arama orijinal işlemine geri dönecektir. Bununla birlikte, onu kodladığım gibi, geri bildirme sözün bağlamında çağrılır. Bu noktada, geri çağırma (demek) bir hata atmalı, bu işlevin hata işleyicisi tarafından yakalanır, bu benim istediğim şey değil!
var updateDataStream = function(data, input, posts, stream, callback) {
// Pack all the items up...
Q.ncall(data._packStream, data, posts, stream)
// Upsert the cache into the database
.then(function(){
return Q.ncall(data.upsert, data);
})
// buffer the new input
.then(function(res){
return Q.ncall(data.buffer, data, input);
})
.then(function(final){
callback(null, final);
})
.fail(function(err){
console.log('OHNOES!!!!!!!',err);
}).end();
}
Bu bağlamda, geri arama işlevi sırasında meydana gelen bir hata "OHNOES !!!!!" yazdırılmak üzere ....