有没有一种更好的方法可以使用诺言在Node.JS中执行以下操作:
var y = "...";
promise.using(getDatabaseConnection() function(connection) {
return connection
.query("some sql")
.then(function(result) {callAnotherFunction(result, y);}
.catch(function(error) {callAnotherFunction(error, y);}
});
这行得通,但是看起来有点笨拙/难以阅读。我试过了:
.then(callAnotherFunction.bind(null, y))
正如在另一篇SO帖子中所建议的那样,
.then(callAnotherFunction(y))
只是希望找到一个非常简单的解决方案,但没有一个奏效。
谢谢!
最佳答案
当然可以这样设置:
const callAnotherFunction = function(y) {
return function(result) {
console.log('y',y);
console.log('result',result);
return 'something'
}
}
promise.using(getDatabaseConnection() function(connection) {
return connection
.query("some sql")
.then(callAnotherFunction(y))
.catch(callAnotherFunction(y))
});