Questo è un campo lungo, ma mi chiedevo se esiste qualcosa come C++ std :: bind in javascript o node.js? Ecco l'esempio in cui ho sentito la necessità di un vicolo cieco:Esiste un equivalente di std :: bind in javascript o node.js?
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();
});
});
Invece di passare la richiamata a dbaccesss.exec, vorrei passare un puntatore a funzione che accetta un parametro. In C++ vorrei passare questo:
std::bind(writeResponse, res)
Ciò si tradurrebbe in una funzione che prende un parametro (il 'risultato' nel mio caso), che ho potuto passare al posto della richiamata anonimo. In questo momento sto duplicando tutto il codice nella funzione anonima per ogni percorso nella mia app express.
[Function.prototype.bind] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind)? – Oka