首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScriptPromises

你有没有在JavaScript遇到过promises并想知道它们是什么?它们为什么会被称为promises呢?它们是否和你以任何方式对另一个人做出承诺有关呢?...此外,你为什么要使用promises呢?与传统JavaScript操作回调(callbacks)相比,它们有什么好处呢? 在本文中,你将学习有关JavaScriptpromises所有内容。...在JavaScript,promise工作方式和现实生活承诺一样。.... #*$% 我朋友,这就是对Promise剖析了。 在JavaScript,我们通常使用promises来获取或修改一条信息。当promise得到解决时,我们会对返回数据执行某些操作。...那么,我们来回答下一个问题 -- 在异步JavaScript为什么要使用promise而不是回调呢?

77420

【译】JavaScriptPromises

你有没有在JavaScript遇到过promises并想知道它们是什么?它们为什么会被称为promises呢?它们是否和你以任何方式对另一个人做出承诺有关呢?...此外,你为什么要使用promises呢?与传统JavaScript操作回调(callbacks)相比,它们有什么好处呢? 在本文中,你将学习有关JavaScriptpromises所有内容。...在JavaScript,promise工作方式和现实生活承诺一样。.... #*$% 我朋友,这就是对Promise剖析了。 在JavaScript,我们通常使用promises来获取或修改一条信息。当promise得到解决时,我们会对返回数据执行某些操作。...那么,我们来回答下一个问题 -- 在异步JavaScript为什么要使用promise而不是回调呢?

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

异步编程之Javascript Promises 规范介绍

什么是 Promises Promises是一种关于异步编程规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口。...传统回调函数 说到JavaScript异步编程处理,通常我们会想到回调函数,如下面的代码: getFileAsync("1.txt", function(error, result){...Promises 规范 Promises/A(http://wiki.commonjs.org/wiki/Promises/A)是由CommonJS组织制定异步模式编程规范,提供了一个在程序描述延时...,error); }); 浏览器支持: Promises 现在已经是JavaScript标准一部分了, 几乎全部浏览器已经实现了Promises API,浏览器兼容性如下: ?...本文简要介绍了Promises基础知识,希望我们我们能够更好使用Promises,更轻松编写代码。

63380

用漫画来解说AngularJsPromises

儿子离家前做出承诺没能遵守!父亲决定呆在家,不值得冒险。 这如何在代码中表达? 在这种场景父亲控制着逻辑,父亲把儿子作为一种服务来对待。 我们已经陈述了逻辑。...父亲让儿子去获取天气预报,儿子没法立即告诉他,父亲在他等待过程还有些其他事情处理,等他儿子实现了承诺,父亲再回来处理天气问题。当父亲拿到了天气预报,他或者准备去钓鱼,或者选择留在家里。...父亲要求儿子去获取天气预报本质是异步,父亲不必干等者儿子回来,因为他还有其他事情做。...相反,父亲通过一个承诺来决定之后三个可能发生(好天气/坏天气/没天气预报)一个。...原文:Promises in AngularJS, Explained as a Cartoon

77210

JavaScriptthis指向问题

JavaScriptthis关键字 在JavaScript,关键字 this 是一个特殊对象,它在函数被调用时自动创建。通常用来指向当前执行函数所属对象。...通过这个过程,我们可以看到,当使用new关键字调用构造函数时,JavaScript会自动将构造函数this绑定到新创建实例上。...实际应用,常见this指向问题 在嵌套函数丢失this:当在一个函数内部定义另一个函数,并在内部函数中使用this时,this指向会发生变化。...可以使用箭头函数或通过在外部函数中将this赋值给一个变量来解决这一问题。 事件处理函数this:在事件处理函数,this通常指向触发事件元素。...可以使用箭头函数、bind()方法,或通过在外部函数中将this赋值给一个变量来解决这一问题。 对象方法this:在对象方法,this通常指向调用该方法对象。

19360

JavaScriptthis指向问题

1、什么是this this一般指向是调用它对象,比如调用它上下文是window对象,那就是指向window对象,如果调用它上下文是某对象就是指向某对象…… //例如 console.log...2、用来干嘛 this在一般情况下,是指向函数上下文,可以处理一些作用域下事件调用 如果想要引用某对象方法,就不用写太多重复代码,直接用this调用某对象方法 3、怎么在代码中使用 console.log...都可以改变函数执行上下文 注:改变上下文可以为程序节省内存空间,减少不必要内存操作 通俗易懂解释改变上下文: 小张在公司有个快递要拿,刚好有事,自己拿不了,他就安排小王拿,这里小张本来是拿快递执行上下文...,因为有事,就改变拿快递执行上下文,变成了小王,节约了小张时间,他就不用另外安排时间去拿快递了 不同点 call、apply是立即执行,bind是不会立即执行,而是返回一个回调函数,执行时需要加个...,可以把参数通过数组形式进行传递 ?

1.1K11

你没有抓住 Promises 要点

注:这篇文章翻译自 《You're Missing the Point of Promises》,阅读这篇文章,你首先需要对于 JavaScript Promises 是什么有了解,否则,你可以先看一看这篇文章...Then 方法和 CommonJS Promises/A 规范 如果有人说 promise 是 JavaScript 上下文,那么他至少指的是 CommonJS Promises/A 规范。...事实上,Promises/A 规范其实已经说明了这一点: 一旦 promise 装载数据完成或者失败了,promise 值就不可以再改变了,就像 JavaScript 数值、原语类型、对象 ID...这也是 JQuery 当前对 promises 实现问题所在,它只实现了上面说第一个场景而已。这也是 Node.js 0.1 基于 EventEmitter promise 问题之一。...我希望在接下去 JQuery 2.0 版本参考 Promises/A+文档,修正这个问题

59410

async 函数和 promises 性能提升

不过,这一切正在改变,这篇文章会详细解释我们是如何优化 V8 引擎(也会涉及一些其它引擎)里 async 函数和 promises ,以及伴随着开发体验优化。...异步编程新方案 从 callbacks 到 promises,再到 async 函数 在 promises 正式成为 JavaScript 标准一部分之前,回调被大量用在异步编程,下面是个例子:...幸运地是,现在 promises 成为了 JavaScript 语言一部分,以下实现了跟上面同样功能: function handler() { return validateParams()...同时我们引入了一个新垃圾回收器,叫作 Orinoco,它把垃圾回收从主线程移走,因此对请求响应速度提升有很大帮助。...开发体验优化 除了性能,JavaScript 开发者也很关心问题定位和修复,这在异步代码里一直不是件容易事。

65320

JavaScript类有什么问题

并不是说 JS 类有问题,但是如果你使用该语言已有一段时间,特别是使用过ES5,那么你可能就知道了从原型继承到当前类模型演变。 原型链会有什么问题? 以我拙见,这个问题答案是:没有。...但是社区花了很多年时间才将类概念强加到不同结构和库,因此ECMA技术委员会决定无论如何都要添加它。 你会问,这有什么问题吗?...如果我们当前OOP模型是如此之薄,仅是原型继承抽象层,那么我们到底缺少什么呢? 是什么让JS真正成为OOP? 看这个问题一个好方法就是看看TypeScript在做什么。...目前 JS 缺失一些OOP构造具有内在类型检查功能,在动态类型语言中没有真正意义,这可能是它们还没有被添加原因。 接口 接口可帮助定义类应遵循API。...这是一个很好资源,并且绝对可以在当前JS领域内实现而不会花费太多精力。 静态多态 静态多态性使我们可以在相同多次定义相同方法,但是具有不同签名。

1.6K10

JavaScript 10 个需要掌握基础问题

全球超过90%网站都在使用它,它是世界上最常用编程语言之一。 因此,今天我们业讨论 10 个有关 JavaScript 常见问题。...请记住,JavaScript函数可以像变量一样传递,这意味着这些功能和状态对可以在程序传递:类似于在c++传递类实例。...由于引入了let和const,这在现代JavaScript 几乎没有问题。...; } 过去,在不同浏览器之间,在块定义函数声明处理是不一致。严格模式(在ES5引入)解决了这个问题,它将函数声明范围限定在其封闭块上。...10.如何在另一个JavaScript文件包含一个JavaScript文件? 旧版本JavaScript没有import、include或require,因此针对这个问题开发了许多不同方法。

2.7K20

JavaScript类有什么问题呢?

上已经收录,文章已分类,也整理了很多我文档,和教程资料。 并不是说 JS 类有问题,但是如果你使用该语言已有一段时间,特别是使用过ES5,那么你可能就知道了从原型继承到当前类模型演变。...原型链会有什么问题? 以我拙见,这个问题答案是:没有。 但是社区花了很多年时间才将类概念强加到不同结构和库,因此ECMA技术委员会决定无论如何都要添加它。 你会问,这有什么问题吗?...如果我们当前OOP模型是如此之薄,仅是原型继承抽象层,那么我们到底缺少什么呢? 是什么让JS真正成为OOP? 看这个问题一个好方法就是看看TypeScript在做什么。...目前 JS 缺失一些OOP构造具有内在类型检查功能,在动态类型语言中没有真正意义,这可能是它们还没有被添加原因。 接口 接口可帮助定义类应遵循API。...这是一个很好资源,并且绝对可以在当前JS领域内实现而不会花费太多精力。 静态多态 静态多态性使我们可以在相同多次定义相同方法,但是具有不同签名。

1.4K10

「译」更快 async 函数和 promises

来源:https://www.yuque.com/es2049/blog 译自:Faster async functions and promises JavaScript 异步过程一直被认为是不够快...异步编程新方案 从 callbacks 到 promises,再到 async 函数 在 promises 正式成为 JavaScript 标准一部分之前,回调被大量用在异步编程,下面是个例子:...幸运地是,现在 promises 成为了 JavaScript 语言一部分,以下实现了跟上面同样功能: function handler() { return validateParams()...同时我们引入了一个新垃圾回收器,叫作 Orinoco,它把垃圾回收从主线程移走,因此对请求响应速度提升有很大帮助。...开发体验优化 除了性能,JavaScript 开发者也很关心问题定位和修复,这在异步代码里一直不是件容易事。

1K10

JS IOSiPhoneSafari不兼容JavascriptDate()问题

,在做时候个人习惯使用chrome作为调试工具, 代码基本完成之后,一切正常; 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误”Invalid Date”。...想着估计是字符串格式问题,改成’2016/11/11 11:11:11’再测试,结果正常,以为这样应该没问题了,再用手机浏览器继续访问,android正常,iPhone继续报错, 再改”Nov 11...Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); document.write(date); 终于可以兼容所有浏览器咯,结论: iPhone...safari无法解释 YYYY-MM-DD HH:mm:ss 或者YYYY/MM/DD HH:mm:ss这样时间格式,而谷歌火狐等浏览器对这样格式做了扩展, iPhonesafari所支持格式为...YYYY,MM, DD,HH,mm,ss,这个问题纠结我大半天,真的好想把苹果程序员拉出去枪毙10分钟,太TM特立独行了。

2.3K10

JavaScriptthis指向问题,暴力理解终极方法

对于js来说,this就是传说中的当前运行环境,其实理论知识一大把,但是很多程序员看到有些写法还是会懵逼,比如dom.onclick事件里调用事件里自己方法,为啥指向是window对象?...} //写法三 aa(); } }; var bb = obj.bb; // 写法一 obj.bb(); // 写法二 bb(); 其实很简单,就是通过哪个对象访问方法...写法二bb()缺省就是window对象方法,不管bb()在哪里调用都一样,window.bb()也就是调用当前作用域里bb方法。...所以写法三也是window.aa(),即使aa()是在bb()里调用。 注意:首先感谢下面评论,ES6箭头函数是特例,箭头函数体内this对象,就是定义时所在对象,而不是使用时所在对象。...这是箭头函数封装之后结果,按照JSthis原理,箭头函数调用方法肯定是通过window对象调用来实现

39020
领券