Пример 1Разница между Q.fcall и (Q.defer + Q.resolve + Q.promise)/Q библиотеки
function first(a, b) {
return a + b;
}
function second() {
return Math.floor(Math.sqrt(arguments[0]));
}
function third() {
return Math.PI * (arguments[0]);
}
Q.fcall(first, 3, 4)
.then(second)
.then(third)
.then(function (result) {
console.log(result);
});
Пример 2
function first(a, b) {
var d = Q.defer();
if (isNaN(a) || isNaN(b)) {
d.reject('Wrong Numbers');
} else {
d.resolve(a + b);
}
return d.promise;
}
function second() {
return Math.floor(Math.sqrt(arguments[0]));
}
function third() {
return Math.PI * (arguments[0]);
}
first(3, 4)
.then(second)
.then(third)
.then(function (result) {
console.log(result);
}, function (error) {
console.log(error);
});
Так что разница между этим 2 примера, потому что из того, что я мог понять сам по себе, было то, что с помощью Пример 2 у нас есть обработчики ошибок и успехов и в . Пример 1 мы не
ye ik, а затем некоторые люди задаются вопросом, почему большинство людей полностью игнорируют readme-s –