54得票8回答
在类型为 'PromiseConstructor' 的对象上不存在属性 'allSettled'。ts(2339)

我尝试使用 TypeScript 和 Promise.allSettled API。这是代码: server.test.ts:it('should partial success if QPS > 50', async () => { const requests: any[]...

53得票5回答
“finally”属性在类型为“Promise<void>”的对象上不存在。

我试图在一个 Promise 对象上使用 finally 方法,但是我一直收到这个错误。 Property 'finally' does not exist on type 'Promise&lt;void&gt;'. 我查阅了类似的问题,建议在tsconfig.js的“lib”数组中添...

52得票3回答
JavaScript promises的执行顺序是什么?

我想了解以下使用JavaScript Promise的代码片段的执行顺序。Promise.resolve('A') .then(function(a){console.log(2, a); return 'B';}) .then(function(a){ Promise.re...

51得票6回答
如何从 Promise 中提取数据

我有一个返回数据的 Promise,我想将其保存在变量中。由于JavaScript是异步的,这是不可能的吗?我需要使用 onResolve 作为回调函数吗? 我是否可以通过某种方式使用它(例如:用 async/await 包装它):const { foo, bar } = Promise.t...

50得票6回答
如何在TypeScript中使用ES6 Promise?

我阅读了this SO question,但是在使用TypeScript时遇到了一些问题。希望我们能够制作一份清晰的指南。这是一个服务器/Node项目。实际上我正在使用最新的iojs,但是输出目标为ES5。 $ tsd query es6-promise --action install -...

48得票4回答
为什么Promises是Monad?

我正在学习函数式编程,并了解到Monads,Functors和Applicatives。 据我理解,以下定义适用: a) ( A=>B ) => C[A] => C[B] | Functor b) ( A=>C[B] ) => C[A] => C[B] | Monad c) ( C[A...

47得票1回答
jQuery $.Deferred(jQuery 1.x / 2.x)固有的问题

@Domenic写了一篇非常详细的关于jQuery延迟对象失败的文章:你错过了Promise的重点。在这篇文章中,Domenic强调了与其他Promise库(包括Q, when.js, RSVP.js和ES6 Promise)相比,jQuery Promise存在一些缺陷。 我从Domeni...

46得票5回答
为什么Promise构造函数需要一个调用“resolve”以完成的函数,但“then”不需要 - 它返回一个值而不是函数?

当我深入学习Promise时,我的理解遇到了以下问题,我没有找到相关讨论(我只找到了有关Promise构造函数和Promise'then'函数的具体讨论,但没有比较它们设计模式的讨论)。 1. Promise构造函数 根据MDN文档,我们可以使用Promise构造函数(下面是我添加的注释):...

46得票1回答
为什么等待后的代码不会立即运行?它不应该是非阻塞的吗?

我很难理解异步和等待在幕后是如何工作的。我知道我们有承诺,通过使用“then”函数使我们的非阻塞代码,我们可以在承诺解决后放置所有需要完成的工作,我们想要与承诺并行执行的工作只需写在then函数之外即可。因此,代码变为非阻塞。然而,我不明白async await如何使代码成为非阻塞。async...

45得票8回答
ES6 Promise已解决的回调?

我希望无论我的 Promise 是否成功解决,都能运行相同的操作。我不想将相同的函数绑定到 .then 的两个参数中。是否有类似 jQuery 中的 .always?如果没有,我该如何实现这一点?