promise跟ajax区别,Promise和AJAX有什么区别?
jfriend00..
66
你对promises和Ajax调用感到困惑.它们有点像苹果和刀子.你可以用刀切苹果,刀是一种可以应用于苹果的工具,但两者是非常不同的东西.
Promise是一种管理异步操作的工具.它们跟踪异步操作何时完成以及它们的结果是什么,并让您与其他代码或其他异步操作协调完成和那些结果(包括错误条件).它们本身并不是异步操作.Ajax调用是一种特定的异步操作,可以与传统的回调接口一起使用,也可以包含在promise接口中.
那么它们之间的区别是什么?何时最好使用一个而不是另一个?
Ajax调用是一种特定类型的异步操作.您可以使用Ajax调用或者与传统的回调XMLHttpRequest接口,也可以使Ajax调用(在现代浏览器),使用与承诺fetch()接口.
最近我遇到了一个承诺,它的身体有一个AJAX.为什么在异步操作中放置异步操作?这就像把面包放在面包三明治里.
您没有显示您正在讨论的特定代码,但有时您想要启动异步操作1,然后当异步操作完成时,您希望它们启动异步操作2(通常使用第一个的结果).在这种情况下,您通常会将一个嵌套在另一个中.
你的代码示例如下:
function threadsGet() {
return new Promise((resolve, reject) => {
$.getJSON('api/threads')
.done(resolve)
.fail(reject);
})
}
被认为是一种承诺反模式.没有理由在这里创建一个新的承诺,因为$.getJSON()已经返回了一个可以返回的承诺.你可以这样做:
function threadsGet() {
return $.getJSON('api/threads');
}
或者,如果您想将某些非标准的jQuery承诺"强制转换"为标准承诺,您可以这样做:
function threadsGet() {
return Promise.resolve($.getJSON('api/threads'));
}
promise跟ajax区别,Promise和AJAX有什么区别?相关推荐
- AJAX, callback,promise and generator
AJAX with jQuery $.ajax({url:??,type:??,data:??,success: function(){??} //callback,error:function(jq ...
- ajax、promise、react、缓存笔记记录
ajax请求 1.请求基本步骤 <body><form action="###">手机号:<input type="text" n ...
- Promise基本使用 ,promise 与 Ajax封装
Promise是JS中进行异步编程的新的解决方案 表达: ①从语法上看:Promise是一个构造函数 (自己身上有all.reject.resolve这几个方法,原型上有then.catch等方法) ...
- javascript-前后端交互-异步调用Ajax与Promise比较
javascript-前后端交互-异步调用Ajax与Promise比较 目录 文章目录 1.异步调用 1.1.使用场景 1.2.Ajax使用 1.2.1.启动后台 1.2.2.编写前端测试页面 1.3 ...
- ajax创建iexmlhttp,AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器
AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器的函数,网上有很多创建XMLHTTP对象,区别IE,Mozilla浏览器的函数,这个比较不错,大家可以直接拿用了 functio ...
- AJAX怎么实现同步请求?Ajax同步和异步请求有什么区别以及使用场景有哪些?
一.AJAX怎么实现同步请求? ajax请求我们分为同步请求和异步请求,但是默认的都是异步请求,那么,当我们想用ajax同步请求时,我们该如何去实现这个同步请求呢?接下来的这篇文章就来给大家介绍一下关 ...
- promise用法_图解 Promise 实现原理(四):Promise 静态方法实现
作者:Morrain 转发链接:https://mp.weixin.qq.com/s/Lp_5BXdpm7G29Z7zT_S-bQ 前言 Promise 是异步编程的一种解决方案,它由社区最早提出和实 ...
- 原生ajax和Jquery的ajax
目录 原生ajax 传统请求(同步方式)的问题 Ajax优势和作用 Ajax请求与传统请求的区别: ajax原理(方法,属性 ) XMLHttpRequest open send 属性 readySt ...
- Ajax是什么?Ajax高级用法之Axios技术
Ajax AJAX 异步请求局部刷新 Ajax 参数详解 js.json.jsonp区别 json和jsonp的区别 同源策略 json和js对象的区别 Ajax高级用法(axios) 为什么要用Ax ...
- 十二、Promise的学习笔记(Promise的基本使用、链式编程、all())
一.认识Promise ES6中一个非常重要和好用的特性就是Promise 但是初次接触Promise会一脸懵逼,这TM是什么东西? 看看官方或者一些文章对它的介绍和用法,也是一头雾水. Promis ...
最新文章
- 一些很实用且必用的小脚本代码:
- 为什么运行了java文件老是404_java – 为什么Spring MVC用404响应并报告“在...
- 打开php.ini中的Safe_mode,会影响哪些函数?
- CECC2018赛季收官站我国×××手夺得年度总冠军
- 【Alpha版本】十天冲刺集结令
- iPhone 13用什么蓝牙耳机?五款性能强悍蓝牙耳机推荐
- python源码剖析类机制_python源码剖析
- 删除oracle安装目录,Oracle 卸载
- JavaScript实现百度坐标系、火星坐标系、WGS84坐标系的互相转换
- Python学习推荐
- Scratch-(六)-妙笔生花
- 华为产品升级及打补丁具体步骤
- python产品作者如何去掉_python去除\ufeff、\xa0、\u3000
- chipping rate码片速率
- 什么是HTTPS安全证书?
- 病毒、木马、蠕虫与恶意代码关键点
- win10 更新后蓝牙无法连接以前设备
- 关于continue用法总结
- JAVA——多线程【线程终止、中断、插队】
- 联想miix510 安装黑苹果Mac OS,也合适其他笔记本安装黑苹果
热门文章
- VS2022 安装 .NET Framework 4.0的方法
- 怎么把图片转换成pdf格式?图片转PDF方法
- 计量单位报错:消息号BM305 “未使用语言 ZH 创建单位 XXX”
- 蓝桥杯计算机软件大赛什么时间,“蓝桥杯”全国软件设计大赛
- linux之lzma tar压缩解压命令
- IO字节流读取文本中文乱码
- IBM服务器管理口IMM使用指南
- windows11关闭安全中心的病毒和威胁防护时,打不开,弹出打开应用需要打开windowsdefender链接问题
- windows 安全删除硬件并弹出媒体 选项灰色、无法弹出、无弹出选项
- 物联网的体系结构和关键技术