如何将 Angular Promise 转换为 jquery 延迟对象

2023-11-23

我想将承诺从我的模块/sdk 返回到非角度 javascript。例如,如果我将 Promise 返回给 jquery,我可能应该发送 jquery 延迟对象。如何将 Angular Promise 转换为 jquery Promise/Deferred obj。

非常感谢任何建议。


免责声明:jQuery 承诺与其他库不能很好地配合 - atall。 jQuery 不会自行吸收其他第三方的承诺。另一方面,Angular $q 承诺 - 将会,所以只要你有选择,就将 jQuery 承诺同化为 Angular 承诺,而不是反之亦然。 (jQuery 3.0 中的所有这些更改,如果您看到此免责声明并且 3.0 已经发布 - 请发表评论)。

将 jQuery Promise 转换为 Angular Promise:

var angularPromise = $q.when(jQueryPromise); // eg: $q.when($.get(...));

将 jQuery Promise 转换为原生 Promise 或 Bluebird Promise:

var promise = Promise.resolve(jQueryPromise); // eg: Promise.resolve($.get(..));

将 Promises/A+ 投诉承诺(例如 $q Angular 承诺或 Bluebird 承诺或本机承诺)转换为 jQuery 承诺:

function convert(p){
    var d = $.Deferred();
    p.then(function(val){
       d.resolve(val);
    }, function(err){ 
       d.reject(err); 
    });
    return d.promise();
}

var jqPromise = convert($http.get(...)); // example usage

// you might be tempted to think you can easily do:
var jqPromise = $.when($http.get(...));
// however - this will will fail inconsistently due to differences between 
// jQuery and Angular promises

另外值得注意的是——Angular Promise 可以使用 jQuery Promise:

$http.get(...).then(function(id){
    return $.get("http://..."+id); // will work, though pointless because $http.get
}).then(function(result){
     // contains result of $.get call here
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Angular Promise 转换为 jquery 延迟对象 的相关文章

  • 从指令动态地将角度属性添加到元素

    我正在尝试构建一个指令来更改缓慢的 ajax 调用按钮上的加载状态 基本上 这个想法是为按钮元素设置一个属性 ng loading 并让指令添加其余的内容 这是html代码
  • jQuery 在 Chrome 下发现错误元素

    我使用 jQuery 迭代 HTML 表 并动态填充每行的行号 通过在文本框中填充行号 function updateRowNums myTable find tr each function index this find input i
  • 将 jQuery 版本从 1.7.1 升级到 1.11.2

    在我当前的应用程序中 我使用的是 jQuery 版本 1 7 1 现在 我计划将jQuery版本升级到1 11 2 是否有任何补丁可以提供与现有应用程序的向后可比性 Thanks 尝试这个 http blog jquery com 2013
  • 在角度控制器中监听文档事件

    如何捕获角度控制器中的事件 我有文档级事件 所以我需要在角度控制器中捕获事件 这可能吗 Update 我有独立的 js 文件来处理来自相机的一些操作 document addEventListener myCameraEvent handl
  • Nodejs 一个接一个地运行异步函数

    我是 JS nodejs 的新手 所以如果我不能提出切中要害的问题 请原谅我 所以基本上 如果我有两个异步函数 async function init async function main 如何确保在 init 完成其异步请求后调用 ma
  • jqGrid刷新本地数据(JSON对象)

    我正在尝试将 jqGrid 与本地数据一起使用 但发现了几个问题 我正在初始化这样的事情 function refreshGrid grid results grid jqGrid data results datatype local c
  • 是否可以将多个事件处理程序绑定到 JqGrid 事件而不覆盖以前的事件处理程序?

    例如 我在每次页面加载时调用默认设置 并将函数绑定到 loadComplete 来为网格执行一些基本格式化 在某些页面上 我想同时执行其他逻辑 但如果我在网格定义中设置 loadComplete 它将覆盖默认值中设置的函数 有没有办法绑定多
  • `attr('checked', false)` 不适用于 IE6

    正如标题所说 我无法获取 attr checked false 在 IE6 上工作 我正在克隆一些 HTML 然后在将新克隆的 HTML 分配给元素之前 我会运行它并取消选中新克隆部分中的所有复选框 这在除 IE 6 之外的所有浏览器中都可
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • 过滤自定义选择器是否大于 jQuery 中的数字[重复]

    这个问题在这里已经有答案了 快给你一份 我查看了 jQuery com 中的选择器 但找不到按大于数字的选择器进行过滤的方法 我想做这个 level gt 4 hide 我的 html 看起来像这样 div Test div 如何使用该语法
  • 防止垃圾邮件按钮呼叫功能

    如何防止调用函数时出现垃圾邮件按钮 就像用户只能在按钮上每 1 秒调用一次该函数 有办法做到吗 因为我尝试了 setTimeout 但没有成功 它仍然在发送垃圾邮件 顺便说一句 我使用 Jquery 这是我的代码
  • JQuery UI Selectable 插件:当 div 溢出时使滚动条不可选择

    我有一个 div 设置为overflow auto 该 div 的内容是可选择的 使用 jQuery UI 当 div 溢出并出现滚动条时 滚动条本身变为可选择状态 因此滚动效果不佳 在 FF Chrome 中 我可以滚动 div 但我得到
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 传递给 $resource 的 @id 是什么?

    resource entries id id id update method PUT id是什么 在 资源上doc page http docs angularjs org api ngResource 24resource下面有人这么说
  • 覆盖 jQuery 验证 MVC4 中的默认设置

    要覆盖查询验证插件 请在文件 http docs jquery com Plugins Validation validate toptions 推荐的方式是 selector validate invalidHandler functio
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下

随机推荐

  • 如何获取 Solr 中最后一个索引记录?

    我想知道如何获取 搜索 Apache Solr 中的最后一个索引记录 当现有记录更新时 它会转到所有记录的末尾 所以我想获取最后一个索引记录 thanks 您可以将 时间戳 字段添加到 Solr 架构中 该字段在添加时将当前日期 时间放入记
  • 如何读取带有 Alpha 通道的 gif 动画

    在 MATLAB 中对 gif 动画进行一些测试时 我意识到我无法读取 gif 的透明度 Example gif的原始来源 If I do img cmap imread Finnandjake gif img是 4D 具有冗余的第三维 奇
  • Joi 验证正则表达式或模式

    我想加入使用在变量中定义的正则表达式模式 我有一个变量pattern其中包含正则表达式 IE pattern 0 9 7 0 9 1 这个模式发送到 Joi 模块并想要确认 module exports save body match Jo
  • 无 RDP 时自动发送密钥失败

    我有一个虚拟机 我希望在其上运行自动化任务 即自动化任务在实际虚拟机上运行 VM 是 Windows 2008 服务器 我已将该任务添加到任务计划程序中 当我通过 RDP 登录到计算机时 我可以通过右键单击 运行 来运行该任务 但是 当我的
  • switch语句:default必须是最后一种情况吗?

    考虑以下switch陈述 switch value case 1 return 1 default value fall through case 2 return value 2 该代码可以编译 但它对于 C90 C99 有效 定义的行为
  • 将大图像加载到位图中?

    我正在尝试制作一个显示来自相机的图像的基本应用程序 但是当我尝试使用 sdcard 加载 jpg 时BitmapFactory decodeFile 它返回 null 它不会给出我觉得奇怪的内存不足错误 但完全相同的代码在较小的图像上运行良
  • 文件名包含空格的 Shell 脚本问题

    我知道处理文件名中空格的一种技术是用单引号将文件名引起来 为什么下面的代码 echo sh 可以在包含带空格的文件名的目录上工作 但是程序 ls sh 却不起作用 唯一的区别是 echo 被 ls 替换了 echo sh bin sh fo
  • Mongoose 模型枚举的自定义错误消息

    我想自定义我的 Mongoose 模型生成的验证消息 我倾向于不直接将我的验证 例如必需的 放在模式对象上 因为没有自定义错误消息的自由 例如 sourceAccountId type Schema ObjectId require tru
  • 禁用“单页”网络应用程序的惯性滚动

    我正在尝试创建一个 单页 网络应用程序 其风格与 Gmail Google Docs Evernote 等相同 在这些应用程序中 允许惯性滚动拉动页面是没有意义的 这是我尝试禁用的效果的视频 http tinypic com r 2eb6f
  • AWS ec2 根卷增加:在 aws ubuntu 实例上扩展弹性根卷不起作用

    我已经关注了用于扩展弹性根卷的 aws 文档我的根卷大小从 8 GB 增加到 20 GB 我确认使用lsblk NAME MAJ MIN RM SIZE RO TYPE MOUNTPOINT xvda 202 0 0 20G 0 disk
  • 将 xtable 输出拆分为子表

    有一个关于在有多列时将 xtable 与 Sweave 一起使用的问题 我正在处理的表格大约有 25 列和 5 行 确切的列数未知 因为它是动态的 当我跑步时说 表 1 我得到的表格基本上超过了页面长度 ColA ColB ColC Row
  • XCHG 在 Intel 汇编语言中如何工作?

    如何xchg以下代码中的指令工作 已知arrayD是一个 DWORD 数组 1 2 3 mov eax arrayD eax 1 xchg eax arrayD 4 eax 2 arrayD 2 1 3 为什么后面不是数组 1 1 3xch
  • 正则表达式匹配单个点而不是两个点?

    尝试创建用于电子邮件地址检查的正则表达式模式 这将允许使用点 但如果有多个点相邻 则不允许使用点 应匹配 电子邮件受保护 不应该匹配 电子邮件受保护 现在我知道互联网上有数千个用于电子邮件匹配的示例 因此请不要向我发布包含完整解决方案的链接
  • Matlab - save(int2str(i), x) 不起作用 - 参数必须包含字符串

    我有一个循环正在生成一些数据 在某些情况下我想保存数据 因此我有 save int2str i x 这不起作用并显示以下消息 Error using gt save Argument must contain a string 我究竟做错了
  • 无法 Dockerize Vite React-Typescript 项目

    我正在尝试对 Vite React Typescript 样板设置进行 dockerize 但无法连接到容器 安装了 vite react typescript 样板 npm init vite latest vite docker dem
  • 返回 http 200 OK,响应正文中有错误

    我想知道返回是否正确HTTP 200 OK当服务器端发生错误时 错误详细信息将包含在响应正文中 Example 我们正在发送HTTP GET 服务器端发生了一些意想不到的事情 服务器返回HTTP 200 OK响应中存在错误的状态代码 例如
  • 如何通过给出私钥获得RSA公钥?

    我正在寻找一个 Java 函数 它将获取 RSA 私钥并返回正确的 RSA 公钥 或者 是否有一个函数可以告诉我们 RSA 私钥 公钥是否有效 如果您有私钥作为RSA私钥对象 您可以获得公共指数以及模数 然后你可以像这样创建公钥 RSAPu
  • 如何在 django 的 ModelForm 中使用 DatePicker?

    我正在使用 django 3 0 我试图在我的 ModelForm 中显示一个日期选择器小部件 但我不知道如何 我能得到的只是文本字段 我尝试寻找一些解决方案 但找不到任何解决方案 这就是我的模型和 ModelForm 的样子 class
  • 在 AngularJS 自定义验证指令中调用异步服务

    我有一个自定义验证指令 验证用户名尚不存在 验证使用 http服务询问服务器用户名是否存在 因此返回的是一个promise对象 这对于验证来说非常有效 当用户名已被使用时 表单无效并包含 myform error usernameVerif
  • 如何将 Angular Promise 转换为 jquery 延迟对象

    我想将承诺从我的模块 sdk 返回到非角度 javascript 例如 如果我将 Promise 返回给 jquery 我可能应该发送 jquery 延迟对象 如何将 Angular Promise 转换为 jquery Promise D