我试图从调用第三个使用promises的lib的函数返回一个值。
让我说我有一个功能(打字稿):
static get(): string {
return ??? lib.test().done(()=> {return "done"; }).fail(()=>{ return "fail"});
}
我正在调用一个返回承诺的第三方库。 如何在不重写函数的情况下,仅从函数返回lib作为promise返回的值?我知道这违背了承诺的目的,但是lib只提供了作为返回值的承诺。
答案 0 :(得分:2)
promise表示将来某个时候可用的异步结果。您无法在Javascript中将异步结果转换为同步结果。它无法完成。您的操作需要被调用者视为异步,并且您的方法的接口将需要是异步的(可能使用promise或者您可以隐藏promise并在需要时返回到简单的回调)。