Làm cách nào để có thể nhận được tên và dòng của hàm được gọi là hiện tại? Tôi muốn có một chức năng gỡ lỗi sơ đẳng như thế này (với npmlog định log.debug
):Nhận tên và chức năng gọi điện trong node.js
function debug() {
var callee, line;
/* MAGIC */
log.debug(callee + ":" + line, arguments)
}
Khi gọi từ chức năng khác nó sẽ là một cái gì đó như thế này:
function hello() {
debug("world!")
}
// outputs something like:
// "hello:2 'world!'"
Để rõ ràng, những gì tôi muốn về cơ bản tương tự như this in Python:
import inspect
def caller():
return inspect.stack()[2][3]
// line no from getframeinfo().lineno
Có một nút tương đương để thực hiện việc này không?
Điều này có thể hữu ích, tôi đã hỏi một câu hỏi tương tự nhưng không liên quan đến nút: http://stackoverflow.com/questions/6885659/determining-source-line-and-file-of-function-reference-how -does-firebug-do-it –