学习
实践
活动
专区
工具
TVP
写文章

【译】JavaScriptPromises

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

27720

用漫画来解说AngularJsPromises

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

10810
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

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

    JavaScriptthis指向问题

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

    35011

    JavaScript类有什么问题

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

    21110

    JavaScript 10 个需要掌握基础问题

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

    26720

    JavaScript类有什么问题呢?

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

    9610

    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特立独行了。

    12110

    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对象调用来实现

    23320

    前端-JavaScript内存问题

    JavaScript内存也分为栈内存和堆内存。一般来说,栈内存存放是存储对象地址,而堆内存存放是存储对象具体内容。 1.1.1 JavaScript内存生命周期: 分配你所需要内存 使用分配到内存(读、写) 不需要时将其释放、归还 var num = 10; // 在内存给数值变量分配空间 alert(num 但引用计数存在一个弊端就是循环引用问题(IE6和IE7就是采用此算法)。循环引用就是指对象A包含一个指向对象B引用,而对象B也包含一个指向对象引用。 1.1.3 管理内存 使用具备垃圾收集机制语言编写程序,开发人员一般都不必担心内存管理问题。但JavaScript在进行内存管理以及垃圾收集时面临问题还是有些不同。 内存限制问题不仅会影响给变量分配内存,同时还会影响调用栈以及在一个线程能够同时执行语句数量。 因此为了确保占用最少内存可以让页面获取更好性能。

    52750

    10 - JavaScript 函数 & 11 - JavaScript 函数种类

    原文地址:https://dev.to/bhagatparwinder/functions-in-javascript-5ehm 什么是函数?它在 JavaScript 扮演什么角色? 函数就是 JavaScript 可以被执行代码块。函数有如下必备部分: 1. 使用 function 关键字声明; 2. 函数名字紧跟其后,它就是被调用时使用名字。 3. JavaScript 自带函数 你不是要经常写函数,JavaScript 自带了许多可以直接使用方法。 函数声明在其他代码执行之前被加载,然而函数表达式只有等到 JavaScript 解释器执行到所在代码行时才被加载。这就是 JavaScript hoisting[1] 原理。 ,它们没有与 this、arguments、super、new.target,我们将在接下来 JavaScript 文章温习这写概念。

    9020

    javascript-this指向问题

    javasript函数this指向一直都是许多编程入门新手一个问题,老师把这个this指向弄错误。下面我们可以来看看关于this指向几种情况。 不过在讲之前,请各位始终记住一句话: JavaScriptthis一直指向触发这个事件(函数)这个Objoct(对象)。 js对象,函数等都是存放在内存,给其他对象赋值为这个函数时候就是让这个对象这个属性指向内存这个函数,所以,不管上面的是怎样赋值,cat与dogintro值是指向同一个函数。 基本普通函数this存在问题就是这么多,其他也就是上面的一些变种。 其实也就是最开始说那句: JavaScriptthis一直指向触发这个事件(函数)这个Objoct(对象)。

    27610

    JavaScript运算符以及JavaScript存在问题

    JavaScript运算符以及JavaScript存在问题 运算符 描述 + 用于数值类型时候,是加法;用于字符串和其它数据类型(包括字符串)时候,将字符串和其它数据类型连接起来 - 减法 * 乘法 JavaScript是动态,弱类型语言 JavaScript毫无疑问是动态语言,当你定义变量时候,并没有声明变量数据类型;另外值得关注一点是JavaScript还是弱类型语言,例如: var str JavaScript是前端必需品,它是浏览器运行唯一语言。每一位前端开发者都需要使用它。但是JavaScript存在上面的问题,现在方法是进行转译。 TypeScript不是一种全新语言,而是JavaScript超集。TypeScript编译器可以将TypeScript代码编译为有效JavaScript。 例如今天我们能看到各种各样非原生应用取代原生应用。 对于写过多种语言我而言,只是希望能够有一个较好JavaScript替代品。解决JavaScript出现问题

    8430

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 静态网站托管

      静态网站托管

      静态网站托管(WH)是由腾讯云开发提供的便捷、稳定、高拓展性的托管服务。您无需自建服务器,自带CDN加速,一键即可部署网站应用。同时,通过JS SDK可直接操作数据库、云函数等,将静态网站扩展为带有后台服务端的全栈网站。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券