【发布时间】:2015-10-15 17:47:28
【问题描述】:
如果我在addTwo 下方有一个像这样的简单函数,我可以使用bluebird 的Promise.method(addTwo) 来实现它,即使它不执行任何异步操作。有什么办法可以反其道而行之?
function addTwo(num){
return num + 2
}
var newValue = addTwo(2) // => 4
addTwoPromise = Promise.method(addTwo)
addTwoPromise(2).then(function(newValue){
console.log(newValue) // == 4
})
有什么方法可以将addTwoPromise 从一个承诺再次转换为一个同步函数?我对 async / await 了如指掌,但我并不在寻找答案。
【问题讨论】:
-
意味着您正在寻找一种方法来让
addTwo脱离addTwoPromise?看起来没有办法做到这一点。你想用这个来达到什么目的? -
如果你有一个同步方法,你为什么要把它包装在一个promise中?
-
@StephenCleary 作为标准化函数的方法stackoverflow.com/questions/31621040/…
-
@MattDiamant 我正在传递一个函数并应用它们/共享参数。
-
@MattDiamant 如果您有时间或耐心。 gist.github.com/reggi/40a6aa3960ad73f92927
标签: javascript promise bluebird