如果我在addTwo
下面有一个像这样的简单函数,我可以使用蓝鸟的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
从承诺转换为同步函数?我知道所有关于异步/等待的事情,我并不是那样寻找答案。
答案 0 :(得分:5)
是的,您可以使用Promise.setScheduler
明确违反Promises / a +规范,并强制bluebird同步运行then
个回调。
请不要这样做,因为它只适用于同步的功能(不应该返回承诺),它会造成一场竞争状态。