假设我有一个基于某些需要先计算的输入值的函数,将返回一个 Promise。看起来有两种方法可以实现这个功能。
示例 1:
第一个例子将所有设置都放在承诺函数之外。第二个例子将所有逻辑都移至该函数内部。表面上,这些方法在几乎所有情况下似乎是等效的。我想知道是否有人了解其中哪种方法比另一种更好?或者我是否遗漏了其他更好的方法?
谢谢!
function foo(val) {
var newVal = val + 100;
var anotherVal = newVal % 12;
var returnVal = anotherVal * 3;
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(returnVal);
}, 1000);
});
}
foo(10).then(function(val) {
console.log(val);
});
例子 2:
function foo(val) {
return new Promise(function(resolve, reject) {
var newVal = val + 100;
var anotherVal = newVal % 12;
var returnVal = anotherVal * 3;
setTimeout(function() {
resolve(returnVal);
}, 1000);
});
}
foo(10).then(function(val) {
console.log(val);
});
谢谢!
Promise
构造函数的回调也是同步运行的。 - Bergi