转换承诺同步功能(Convert promise to synchronous function)

2019-10-24 04:15发布

如果我有这样一个低于一个简单的函数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从一个承诺再次同步功能? 我知道所有关于异步/等待,我不找,作为答案。

Answer 1:

是的,你可以使用Promise.setScheduler明确违反承诺/ A +规格,并迫使蓝鸟运行then回调同步。

请不要,因为它只会为是同步的功能呢(这不应该返回承诺开始)的工作,它会创建一个竞争条件一个地狱。



文章来源: Convert promise to synchronous function