问题标签 [promise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4399 浏览

node.js - nodejs redis Q 承诺,如何使它工作?

我试图从 redis 中获取一些值,将它们组合起来并最终发送。但我就是无法让这些承诺奏效。

这是getredis的简单功能

现在我想获取IDusername发送它们,但我不知道如何实现它。我设法使它与回调一起工作,但结果非常混乱,所以我尝试将匿名函数包装到Q.fcall调用后.then,看起来像这样

但这给了我错误,因为传递了太多的参数,我什至不确定这是否会对我有所帮助,即使它会起作用。

0 投票
2 回答
1109 浏览

jquery - jquery stop() 所有动画不让延迟 $.when, .promise(), .done() 返回完成?

似乎每 50-100 个 jsfiddle 更新都会引导我到 stackoverflow 社区来帮助解决我创建的新问题!那谢谢啦!

背景:我有几个包含动画的函数,函数要在前一个完成后触发。在一些帮助和研究下,我开始使用 $.when 和 .promise() 来控制这些东西,而不是我最初的非常丑陋的回调字符串和每个函数上的 setTimeouts。

我的困境是:在某些时候,用户可能想要暂停一切并在闲暇时再次恢复。我似乎无法添加此功能!

我可以使用 $('div:animated').stop() 暂停所有动画,但这是暂时的,因为 .promise() 仍然可以解决!有什么办法可以覆盖这种行为?任何重组可能有助于使暂停和恢复更容易实施?

明天我计划沿着将所有动画添加到代理对象队列的路径,但不确定在新对象上创建全局队列将如何与现有结构一起工作。我还打算考虑添加一些布尔值来检查值是否关闭,然后不要调用函数或进行动画处理。我不确定这些解决方案中的任何一个是否是我应该采取的适当方向?

在预览这篇文章之后,我也倾向于学习如何重构我的嵌套开始按钮功能!

任何有关实现暂停和恢复功能的指导将不胜感激。

下面的代码非常简化,每个函数都包含更多元素和动画。

小提琴在这里

JS:

​ HTML & CSS

编辑 您的答案提供了我正在寻找的学习经验;我真的很感激心灵的分享!我的人为示例可能无法充分展示现实世界的问题,因为所提出的答案不允许同时触发多个动画?我不认为至少?例如 box1 和 box2 可能同时移动,或者当 box3 触发时 box6 也会移动。我实现的最初的 VERY UGLY promise 系统使用了许多函数,因为每个函数都由许多动画组成。建议的答案将如何实现?

EDIT2 两个答案,charlietfl's 让我可以轻松添加同时触发的辅助功能;很重要。Alnitak 有一种优雅的方式来构造数组并将其应用于动画,这很容易更改动画类型(fadeOut()、fadeIn())。

所以我试图做的是将两者结合起来,这样我就可以为使用 Alnitaks 数组格式的辅助动画创建一个嵌套数组:

所以简而言之,我仍在研究所有答案,但与 charlietfls's 接近/接近。将 Alnitak 的数组添加到他的数组或将 charlietfl 的嵌套添加到 Alnitak 的数组。

这比我想象的更加激烈;我感谢您的贡献和代码学习....非常翔实!

0 投票
1 回答
269 浏览

node.js - 并行执行(显式和隐式)什么以及在 node.js 中顺序执行什么?

这个例子混淆了我对工作原理的理解node.js

为什么在这里假设部分代码将按顺序执行1.?那么,适用于所有推入元素2.的保证在哪里?是不是这样,from是如此之大,以至于它的工作原理比平行于?这些想法来自对 node.js 将处理的理解,首先是使用然后将其交给,这实际上类似于普通线程。Q.all(queue)queue1.numbers1.2.1.2.node.js event-loopworkers

所以问题 - 将彼此1.并行2.执行,从node.js event-loop顺序开始还是按顺序执行(1.推送队列中的所有元素,然后才2.开始处理中的每个元素queue)?请提供一些指向该主题文档的直接链接的论点。

0 投票
2 回答
1784 浏览

javascript - 在 nodejs 中遇到 Promise 问题

我正在尝试将 promise 与 nodejs 一起使用(我正在尝试使用 node-promise 包);但是,没有任何成功。请看下面的代码:

上述代码的输出I'll return: 35857只是,它不去该then部分。

我将代码更改为:

这次的输出是This is what I got: -1……Done!看起来这次没有调用“承诺”。

所以:

  • 需要做什么来修复上面的代码?显然我做得不对:)
  • 当我做承诺时,节点承诺是“要走的路”,还是有更好的方法/包?即更简单,更适合生产。

谢谢。

0 投票
2 回答
306 浏览

jquery - jQuery ajax 和“when”函数

我有一些(可以说是 5 个jQuery.ajax)ajax 请求,我使用函数同时运行这些请求。

现在我想同步和汇总他们的结果,我使用jQuery.when函数来实现这一点。

我的问题是,$.when一旦其中一个请求失败,就会立即返回,即使其他请求成功,也会阻止它们返回。

如何同步并从我的所有 ajax 请求(那些失败的和成功的)中获取所有结果?

0 投票
3 回答
13309 浏览

javascript - 使用 jQuery 或 Q.Js 实现承诺

我正在研究BreezeJs,并且有示例使用Q.js来处理异步调用的承诺。John Papa也在使用Q。JQuery 也有承诺。两者有什么区别?

0 投票
4 回答
85 浏览

javascript - ajax请求依赖前一个

我想做这样的事情:

代码对我来说看起来很糟糕。

我想知道如何让它看起来很漂亮。一些最佳实践?

0 投票
2 回答
909 浏览

javascript - SQL 事务和 JavaScript Promise 有什么关系?

我最近了解了Promises,它看起来类似于 SQL Transactions。

  • 交易全有或全无

  • Promise 是顺序回调

    它们是处理异步事件的同一概念的不同实现吗?

0 投票
1 回答
5631 浏览

node.js - Node.js Promises with Q :: Q.ninvoke 链

我正在尝试缩小我的 node.js 服务器出现内存问题的潜在原因。我一直有点不舒服的代码的一部分是我对 Q Promise 的使用。

这是我的基本结构:

这看起来合乎逻辑吗?

如果 doSomethingElse 函数也使用了 Promise 怎么办?这里的一切都正确吗?

0 投票
2 回答
194 浏览

function - 如何将 jQuery.Deferred 与普通函数一起使用?

Deferred 对象文档说它可以采用可选的函数参数,但没有示例。我该如何使用它?