保证和阻止返回值的函数

时间:2015-04-05 10:55:46

标签: typescript promise

我试图从调用第三个使用promises的lib的函数返回一个值。

让我说我有一个功能(打字稿):

static get(): string {
   return ??? lib.test().done(()=> {return "done"; }).fail(()=>{ return "fail"});
}

我正在调用一个返回承诺的第三方库。 如何在不重写函数的情况下,仅从函数返回lib作为promise返回的值?我知道这违背了承诺的目的,但是lib只提供了作为返回值的承诺。

1 个答案:

答案 0 :(得分:2)

promise表示将来某个时候可用的异步结果。您无法在Javascript中将异步结果转换为同步结果。它无法完成。您的操作需要被调用者视为异步,并且您的方法的接口将需要是异步的(可能使用promise或者您可以隐藏promise并在需要时返回到简单的回调)。