trong es6 đó bạn có thể xác định một mô-đun chức năng như thế nàyES6 mặc xuất khẩu với nhiều chức năng đề cập đến nhau
export default {
foo() { console.log('foo') },
bar() { console.log('bar') },
baz() { foo(); bar() }
}
ở trên có vẻ là mã hợp lệ, nhưng nếu tôi gọi baz()
nó ném một lỗi:
ReferenceError: foo is not defined
làm thế nào để bạn gọi foo
từ chức năng khác? trong trường hợp này baz
Sửa
Dưới đây là đoạn code mà thực sự không hoạt động. Tôi đã đơn giản hóa mã do đó, nó chỉ là cốt lõi khi cần thiết
const tokenManager = {
revokeToken(headers) {
...
},
expireToken(headers) {
...
},
verifyToken(req, res, next) {
jwt.verify(... => {
if (err) {
expireToken(req.headers)
}
})
}
}
export default tokenManager
và lỗi là
expireToken(req.headers);
^
ReferenceError: expireToken is not defined
Chỉnh sửa 2
Tôi chỉ cố gắng thêm tokenManager
trước expireToken
và cuối cùng làm việc
Xem câu trả lời của tôi hoặc @ pawel. Để khắc phục, thay thế 'expireToken (req.headers)' bằng 'tokenManager.expireToken (req.headers)' hoặc bằng 'this.expireToken (req.headers)'. – skozin