Ben node express 4.0 kullanıyorum. İnternette (dokümanlar dahil) bir rotada eşzamansız kod yerleştirme hakkında hiçbir şey bulamıyorum. Bir katman sayesindeDüğüm eşzamansız bir yol kodu
oldukça basit: yolları ile
app.use('/something', function (req, res, next)
{
doSomethingAsync(function(err, probablySomethingElse)
{
// probably some error checking
next();
});
});
sorun yok next
geri arama olmamasıdır, bu yüzden bir sonraki iş geçmek için ne zaman nasıl biliyor ekspres geliyor? Sanırım olsaydı
app.get('/something', function (req, res)
{
res.render('someTemplate');
// no next() here, but it still works
});
, hemen yukarıdaki fonksiyon çıkar sonra sonraki göreve yönündeki kesin hamle söyleyebilirim. Ama meraktan ben ...
app.get('/something', function (req, res, next)
{
console.log(next);
});
Aşağıdaki kodu çıkardık ... ve aslında geçirilen bazı next
geri arama yoktur. Peki burada neler oluyor? Sahne arkasında nasıl çalışır? Ve asenkron kodları buraya nasıl koyabilirim?
Biraz daha açık olabilirsiniz, hangi uyumsuzluk kodunu rotaya koymak istiyorsunuz ve bu, tüm rotaların gerçekleştiği 'ileri' geri dönüşü ile nasıl ilgilidir. – adeneo
Bir şey res.render() 'derken,' next() 'işlevini aramanıza gerek yoktur (bu şekilde iletilse bile * siz * isterseniz * yapabilirsiniz) çünkü bu zincirin ** sonu **. – Bergi
Express bir şekilde geri aramamın ne zaman çıkacağını bilmesi için soketi kapatabilir ve bu istek ile ilişkili verileri bırakabilir. Doğru bir şekilde anladım, eğer 'res.render' adını verirsem, planlanan zaman uyumsuz görevlerin olmadığını ve 'next' çağrılmasının beklemesinin gerekmediğini düşünecek miyim? –