2016-10-28 22 views
5

Düğüm kitaplıklarındaki çoğu API, tasarım gereği eşzamansızdır. Geri aramada bir istisna atıldığında, stacktrace yalnızca process._tickCallback öğesinden başlayan çağrı yığınını gösterir.NodeJS: Bir çağrı zaman uyumsuzluğu işlevinin yığın izini göstermek mümkün mü?

Ayrıca, _tickCallback'i tetikleyen işlevin yığın izlemesini göstermek için bir numara olup olmadığını merak ediyorum.

+0

[Kullanabileceğiniz bir yöntem aşağıdadır. Bir Gihub Gist).] (https://gist.github.com/lll000111/3d6a53da4d53beb909189793c7631ba6) Dezavantajları: Bir kaç ek kod satırı - tüm async'ı sarmalısın. 'try/catch' işlevini çağırır (ayrıca' promise.catch (...) 'komutunu da kullanabilirsiniz). Daha sonra yeni bir 'Error' nesnesi yaratır ve' stack' özelliğini varolan yığına eklersiniz. TÜM async için yapıldıysa. işlev, tam yığın iziyle sonuçlanır. Hız dezavantajı (yığın izi oluşturma pahalı) async için önemli olmamalıdır. işlevleri (pls. normal kontrol akışı için istisnalar kullanmayın). –

cevap

0

İhtiyaçlarınıza uyup uymadığını görmek için uzun yığınlara göz atabilirsiniz. Modül yığınlar olarak adlandırılır. Tek yaptığınız dosyayı yüklemektir:

npm install --save stackup 

ve sonra bunu gerektirir:

require('stackup'); 
burada

diğer bilgiler: https://github.com/groundwater/node-stackup düğüm 8 versiyonunda

1

async_hooks

trace göründü zaman uyumsuz için bunu kullanır yığın izleri

İlgili konular