用 Monadic 咒语召唤 JQuery Deferred

2023-12-01

灵感来自this(优秀)关于在 javascript 中使用 Promises 的讨论,我正在尝试弄清楚如何使用 Deferred 将异步和非异步函数链接在一起,以避免在使用我的 ' 时支付回调税全局存储' code.

我有一些与此相关的问题,但我会在这里一起问它们,因为上下文是相同的。

我无法解决的一件事是如何从非异步的东西中延迟 - 也就是说,如何获取一个值,将其包装在承诺中,然后直接返回它? (a -> M<a>)

另外,如何获取异步函数并将其包装,以便它直接返回其结果,但包装在承诺中? ((a -> b) -> (a -> M<b>))

最后一个问题,对于单子怪胎 - 这个函数有标准名称吗?[a] -> (a -> M<b>) -> M<[b]>


将值包装到 Promise 中就像使用 $.when 一样简单:

var promise = $.when( value );

另外,从 jQuery 1.6 开始,您有一个非常简单的链接方法(管道):

var chained = functionThatReturnsAPromise().pipe(function( resolveValue ) {
        return functionThatReturnsAnotherPromise( resolveValue );
    });

chained.done(function() {
    // Both asynchronous operations done in sequence
});

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用 Monadic 咒语召唤 JQuery Deferred 的相关文章

  • PhoneGap/Cordova:如何使用cookies(iOS)?

    我有一个适用于 iOS 的 PhoneGap Corodova 项目 在 iOS 模拟器上构建时 我使用了 Jquery Cookies 它们很好 但是 既然我的设备上有该应用程序用于测试 它们就不再工作了 我猜这只是 iOS 不支持的东西
  • 使用 parsley.js 支持每个字段多个自定义错误消息

    我正在尝试使用 parsley js 验证一个简单的表单 并且我对 parsley js 非常初学者 我想使用 window ParsleyValidator addValidator 方法在一个自定义验证方法中显示多个错误消息 所以我尝试
  • 在 javascript 中访问 ajax POST 响应

    我正在从 javascript 函数发出 ajax POST 请求 function UpdateMetrics ajax type POST url MyHandler ashx Param1 value1 data contentTyp
  • JavaScript 中的正则表达式用于验证十进制数字

    我想要 JavaScript 中的正则表达式来验证十进制数字 它最多只允许两位小数 例如 它应该允许10 89但不是10 899 它还应该只允许一个句点 例如 它应该允许10 89但不是10 8 9 尝试使用以下表达式 d d 0 2 如果
  • 有没有好的 JQuery twitter 小部件可以循环推文?

    我想知道是否有任何 JQuery 小部件提供了循环加载推文的功能 例如在官方小部件中http twitter com about resources widgets widget profile http twitter com about
  • 如何使用JQuery和Django(ajax + HttpResponse)?

    假设我有一个 AJAX 函数 function callpage ajax method get url abc data x 3 beforeSend function success function html IF HTTPRESPO
  • 通过多个回调优雅地传递“点击事件”

    当未登录的用户单击给定的按钮时 我想停止该事件 收集他的 oauth 收集他的电子邮件 如果我没有 然后执行该事件 我想用 javascript 来做所有事情 因为这会让事情变得更加简单 这就是我执行它的方式 我有两个问题 有没有更优雅的方
  • 一个接一个地淡入div

    大家好 我很擅长 HTML 和 CSS 但才刚刚开始接触 jQuery 的皮毛 我希望让 3 个 div 在页面加载时逐渐淡入 到目前为止我有这个 我听说使用 css 将显示设置为 none 对于任何使用非 JavaScript 浏览器的人
  • 支持换行的 JQuery 工具提示

    我正在寻找一个轻量级的 jquery 插件 用于在用户将鼠标悬停在元素上时显示工具提示 我希望插件从标题属性中获取内容 而且我可以创建新行也很重要 任何帮助表示赞赏 在 jQuery 1 9 jquery jquery ui 和标准 too
  • 在 iframe 中打开的网页上调用我的 jquery 函数

    我想单击一个按钮 该按钮位于基于父页面中的类选择器的 iframe 中打开的网页上 我试过这个 each classname function i el setTimeout function el trigger click 30000
  • jQuery,使用 ~ 作为 id 的一部分 - 如何?

    在我的应用程序中 我有一个表单 其中的元素使用特定的约定命名 即它们是路径 其各部分使用 sign 现在我需要通过 id 在 jQuery 中访问其中之一 但失败了 显然 jQuery 将其视为 prev sibling thing 有什么
  • future::select 之间有什么区别!和东京::选择?

    我正在使用 Tokio 我想接收来自两个不同的请求mpsc队列 select 似乎是要走的路 但我不确定两者之间有什么区别futures select and tokio select 在什么情况下应该使用其中一种而不是另一种 tokio
  • 如何发送正确的授权标头以进行基本身份验证

    我正在尝试从 API 发布数据 但无法通过基本身份验证 I try ajax type POST url http theappurl com api v1 method data crossDomain true beforeSend f
  • 使用 AJAX 加载部分视图不起作用

    请原谅我 我是 MVC 和 AJAX 的新手 目前我只是提交一个表单 我想使用表单中的数据使用 ajax 更新部分视图中的表 My UserInfo部分视图如下所示 model IEnumerable
  • 点击加载谷歌地图

    我想在单击链接后显示 Google 地图 我已经尝试过以下方法 当点击链接时 然后 Insert div与 id 链接后map 使用 jQuery 方法 getScript 加载 Google Maps API 添加谷歌地图到div带身份证
  • jQuery .push 到 .get 调用中的数组给出空结果

    谁能告诉我为什么下面给我一个空字符串 当我console log contentArray in the get 回调函数它显示数据 但是当我尝试在下面的代码中执行它时 结果为空 sectionArray contentArray func
  • 防止垃圾邮件按钮呼叫功能

    如何防止调用函数时出现垃圾邮件按钮 就像用户只能在按钮上每 1 秒调用一次该函数 有办法做到吗 因为我尝试了 setTimeout 但没有成功 它仍然在发送垃圾邮件 顺便说一句 我使用 Jquery 这是我的代码
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u

随机推荐

  • 如何获取列表中字符串的公共前缀[重复]

    这个问题在这里已经有答案了 我需要知道如何识别列表中字符串的前缀 例如 list nomad normal nonstop noob 它的答案应该是 no 因为列表中的每个字符串都以 no 开头 我想知道是否有一种方法可以同时迭代列表中字符
  • 设置TableRow下TextView的layout_weight

    这个问题实际上与这篇文章相关以编程方式设置 TextView 的布局权重 根据答案 我只需要如下设置 TextView 布局参数并设置stretchColumn 属性 但是通过将以下代码添加到我的代码中 它会使 textView 从表布局中
  • 路径上的 d3.js 工具提示

    我读到的很多关于 d3 js 和工具提示的内容都提到了图表上的各个点 相反 我的图表使用一条长路径进行渲染 我想知道如何将鼠标悬停方法应用于这样的路径 然后我将相应地绑定一个工具提示 div http jsfiddle net ericps
  • 基于具有不同索引的参考数据帧连接数据帧中的特定列对

    我的目标是根据以下对连接数据帧 源 中的列 在单独的数据帧 参考 中进行了描述 生成的数据框应将源中的列标题替换为参考中的索引标签 用于引用的数据框如下所示 df1 pd DataFrame dict FIRST Alpha Alpha C
  • 使用 Indy 执行 IPv6 反向 DNS 查找

    我正在使用 Indy 使用以下代码执行反向 IPv4 查找 function ReverseDNSLookup const IPAddress String const DNSServer String Timeout Retries In
  • Twitter 的 Bootstrap 移动版:更多专栏

    关于twitter bootstrap 我目前有一个设计 在网格中显示图片 div class row fluid div class image span 4 div div class image span 4 div div clas
  • 稀疏矩阵图 matlab

    我有一个 5000 5000 稀疏矩阵 有 4 个不同的值 我想用 4 种不同的颜色可视化非零元素 以便我可以识别这些值的比率以及它们之间的关系 我使用imagesc但我不能很好地识别不同的值 特别是比率较小的值 我认为如果我为每个值使用一
  • plotly choropleth 地图:显示国家/地区名称

    考虑以下 R 代码以绘图方式生成分区统计图 devtools install github ropensci plotly library plotly df lt read csv https raw githubusercontent
  • VB.NET 中具有两个属性的 DistinctBy

    看着选择列表中两个不同的属性可以使用具有两个属性的 DistinctBy 扩展方法 我尝试将其转换为 vb net 但没有得到预期的结果 测试类 Public Class Test Public Property Id As Integer
  • C++ 编译器优化器是否允许破坏我的析构函数被多次调用的能力?

    我们曾经采访过一位非常有经验的 C 开发人员 他无法回答以下问题 C 中派生类析构函数是否需要调用基类析构函数 显然答案是不 C 无论如何都会自动调用基类析构函数 但是如果我们尝试拨打电话怎么办 在我看来 结果将取决于基类析构函数是否可以被
  • 如何截取 Android 布局的屏幕截图?

    我的问题是如何使用内置屏幕截图来截取屏幕截图 任何提示或示例代码将不胜感激 有两种方法你可以尝试 使用Eclipse 在 Eclipse 中打开 设备 视图 窗口菜单 gt 显示视图选项 gt 其他 Android gt 设备 右侧有一个工
  • 如果将 ImageResizer 与 Azure blob 一起使用,我是否需要 AzureReader2 插件?

    我正在开发一个个人项目来管理我的俱乐部的用户 它托管在免费的 Azure 包上 至少目前如此 部分作为试用 Azure 的实验 创建他们的记录的一部分是添加照片 因此我有一个联系人卡片视图 可以让我看到他们是谁 他们何时来以及一张照片 我已
  • 我应该尽可能避免使用 JS 而使用 CSS 吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我正在寻找最佳实践答案 目前我正在尝试向我网站的导航栏添加一个下拉菜单 我发现我可以使用 CSS 来做到这一点 而且我也可以使用 JS Angular 来做到这一点 我读到过 因为使用 J
  • 使用 Selenium 将元素滚动到视图中

    Selenium 1 x 或 2 x 中是否有任何方法可以滚动浏览器窗口 以便 XPath 标识的特定元素位于浏览器的视图中 Selenium 中有一个 focus 方法 但在 FireFox 中似乎没有物理滚动视图 有人对如何做到这一点有
  • D3.js 如何将力布局的节点排列在圆上

    我开发了一种力量布局来代表社会群体之间的关系 现在我想让节点分布在一个圆圈中 并有链接连接它们 做这个的最好方式是什么 完整版本的代码 没有数据 在这里http jsfiddle net PatriciaW zZSJT 为什么我也必须在这里
  • UICollectionView 和补充视图崩溃

    我有一个 UICollectionView 工作正常 有 2 种方法可以到达此页面 虽然应用程序 点击推送通知 除了一种情况外 一切都很好 如果用户正在聊天 然后退出应用程序 主页按钮 然后他收到一条推送通知 按下它 应用程序崩溃了 cra
  • Matlab - 如何以函数内的字符串形式检索函数调用的确切参数列表?

    假设我有以下功能 function name the paramlist varargin Print out varargin exactly how it is called as a string 基本上我想要它做的是 调用 name
  • 运行 pyinstaller 时出错(1920,“LoadLibraryEx”,“系统无法访问该文件”)

    我试图将我的 python 脚本编译为 exe 以便我可以将其发送给可以使用而无需安装 python 的朋友 但我遇到了问题并且无法找到解决方案 我发现了类似的问题Pyinstaller win32ctypes pywin32 pywint
  • 单击按钮时将道具传递给另一个组件

    在我的 nextJS 应用程序中 我想将一个组件的 props 传递给另一个组件 该组件既不是第一个组件的父组件 也不是第一个组件的子组件 我该怎么做 有一个Orderdiv 内的组件Orders页面和OrderViewer在另一个 div
  • 用 Monadic 咒语召唤 JQuery Deferred

    灵感来自this 优秀 关于在 javascript 中使用 Promises 的讨论 我正在尝试弄清楚如何使用 Deferred 将异步和非异步函数链接在一起 以避免在使用我的 时支付回调税全局存储 code 我有一些与此相关的问题 但我