В следующем тестовом коде я пытаюсь передать предопределенную функцию с параметрами (т. е. t2, t3) в then. Но он жалуется, что "r" не определено.
var Promise = require('bluebird');
var t2 = function(r) {
console.log("2r: " + r);
return 2 * r;
};
var t3 = function(r) {
console.log("3r: " + r);
return 3 * r;
};
new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(1);
reject(2)
}, 1000);
})
.then(t2(r), t3(r))
.then(t2(r), t3(r))
.then(t2(r), t3(r));