31得票5回答
如何使Promise同步执行?

我使用dom-to-image.js将dom转换为png图像。由于dom-to-image.js使用promise,代码是异步执行的。我想同步执行.then函数。 我有以下代码:domtoimage.toPng(document.getElementById("main")).then(fu...

102得票17回答
使用返回Promise的函数过滤数组

鉴于let arr = [1,2,3]; function filter(num) { return new Promise((res, rej) => { setTimeout(() => { if( num === 3 ) { res(...

7得票1回答
ECMAScript Promise.all方法与jQuery.Deferred一起使用,为什么?

我正在研究JavaScript中的Promises。我很感兴趣是否可以将ECMAScript Promises与其他实现结合使用,例如jQuery的$.Deferred。当Promises.all与jQuery的$.Deferred协同工作时,我感到很惊讶。我尝试在jQuery源代码和Comm...

16得票2回答
TypeScript类型定义:promise.reject。

以下的代码在返回类型方面是正确的,因为then总是返回promise数组。Promise.resolve(['one', 'two']) .then( arr => { if( arr.indexOf('three') === -1 ) return Promise.reje...

19得票3回答
将另一个Promise传递给Promise处理程序

我原本期望承诺处理程序记录承诺 p1(而不是值“A”),因为直接使用p1调用了console.log。然而,它以某种方式记录了“A”。 承诺p1如何自动解析为“A”,而没有对其进行then调用?例如,console.log(p1)并没有像预期的那样直接输出“A”。是否有什么事情在幕后发生? ...

7得票1回答
不使用setTimeout等待值被定义?

我正在从某个地方获取一个值,并希望在本地使用它(使用lodash): const setting = _.get(this.settings, 'options'); this.settings.options 在其他地方被设置,而且根据不同的环境,this.settings.optio...

310得票3回答
Promise.all:已解决值的顺序

看起来根据MDN的说明,Promise.all 的 then() 回调接受到的 values 参数是按照传入的 Promise 的顺序排列的。例如:var somePromises = [1, 2, 3, 4, 5].map(Promise.resolve); return Promise.a...

10得票3回答
为什么 JavaScript Promise 的 then 处理程序在其他代码之后运行?

我只是希望更好地了解JavaScript Promise的工作方式。我创建了以下情况: LOG 'FOO' RUN CALLBACK LOGGING 'CALLBACK' LOG 'BAR' 期望所有功能都能立即完成(这意味着它们不会花费过多或未知的时间来完成,您无需使用异步操作来完成)...

10得票2回答
当我使用Promise时,仍然出现了“金字塔式的地狱”,我做错了什么?

我正在使用Node.js的Inquirer库,但在使用promises时仍然遇到了"回调地狱"问题,我做错了什么吗? 只是提供一下信息,inquirer库的API基本上是:inquirer.prompt([ question1, question2, question3, ... quest...

57得票4回答
Promise回调返回Promise

关于这两个重要的来源:NZakas - 在Promise链中返回Promises 和 MDN Promises,我想问以下问题: 每当我们从Promise成功处理程序中返回一个值时,该值如何传递给从同一处理程序返回的新Promise?例如:let p1 = new Promise(functi...