承诺`finally`无效

时间:2018-04-27 23:08:08

标签: javascript typescript promise

我正在使用Typescript,我已将import 'promise.prototype.finally'添加到index.js的顶部(实际上我已将其添加到多个位置)。

当我使用承诺时,我得到client.get(...).then(...).finally is not a function

我不明白为什么这不起作用,我不知道我可以提供哪些其他信息来帮助调试,或者我会去哪里找出它为什么不起作用!

感谢帮助

2 个答案:

答案 0 :(得分:2)

导入the package promise.prototype.finally并不做任何事情;进口没有任何副作用。您需要使用名称导入它,如下所示:

import promiseFinally from 'promise.prototype.finally';

然后调用其shim()函数来修补全局Promise原型:

promiseFinally.shim();

然后,您就可以将其用作方法,就像在您的示例中一样。

如果您有一个,可以将它放在主入口点文件的顶部。如果没有,您至少可以将它放在您知道自己需要它的文件的顶部。

答案 1 :(得分:0)

您可以将其用作import * as promiseFinally from 'promise.prototype.finally';