Đây là một shot dài, nhưng tôi đã tự hỏi nếu có một điều như C++ std :: ràng buộc trong javascript hoặc node.js? Dưới đây là ví dụ mà tôi cảm thấy sự cần thiết của một ràng buộc:Có tương đương std :: bind trong javascript hoặc node.js không?
var writeResponse = function(response, result) {
response.write(JSON.stringify(result));
response.end();
}
app.get('/sites', function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
dbaccess.exec(query, function(result) {
res.write(JSON.stringify(result));
res.end();
});
});
Thay vì đi qua các callback để dbaccesss.exec, tôi muốn vượt qua một con trỏ hàm mang theo một tham số. Trong C++, tôi sẽ vượt qua điều này:
std::bind(writeResponse, res)
Điều này sẽ dẫn đến một hàm có một tham số ('kết quả' trong trường hợp của tôi), mà tôi có thể chuyển thay vì gọi lại ẩn danh. Ngay bây giờ tôi đang sao chép tất cả mã đó trong chức năng ẩn danh cho mọi tuyến đường trong ứng dụng tốc hành của tôi.
[Function.prototype.bind] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind)? – Oka