首页
学习
活动
专区
圈层
工具
发布

typeScript版仿Promise源码

作为一个前端, 还有人说不会用 Promise,真的就有点过分了. 为了跟上卷的潮流,我们今天就用typeScript 来实现一下 Promise 的实现....*写 promise 之前我们需要明确一些常识....必须是一个构造函数或是类(我们在使用时必须 new, js中 类实际即时构造函数的语法糖) promise 有三个状态 padding(等待) fulfilled(完成) reject(异常...) promise 状态一旦改变就冻结, 不再发生改变 支持链式调用 拥有 all, resolve, reject, race 四个静态方法 下面我们开始进入代码块 // 首先promise 有三个状态...(reason) } } } 以上我们就实现了一个很简单的 Promise, 这个 Promise 很弱, 只能执行同步代码, 也不支持链式调用.显然这样肯定不行的, 大家都知道, Promise

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

    从C#到TypeScript - Promise

    从C#到TypeScript - Promise 背景 相信之前用过JavaScript的朋友都碰到过异步回调地狱(callback hell),N多个回调的嵌套不仅让代码读起来十分困难,维护起来也很不方便...这篇先来看看Promise: Promise的特点 Promise之于TypeScript,相当于Task之于C#,只有返回Promise的函数才能使用async await。...Promise的使用 可以直接new一个Promise对象,构造函数的参数是一个有两个参数的函数。...而且Promise的异常是冒泡传递的,最后面写一个catch就可以捕获到前面所有promise可能发生的异常,如果用reject就需要每个都写。...Promise除了用then来顺序执行外,也同样可以不阻塞同时执行多个Promise然后等所有结果返回再进行后续操作。

    1.8K80

    ES6新增语法(五)——Promise详解

    Promise介绍 promise是一个对象,从它可以获取异步操作的消息。有all、race、reject、resolve这几个方法,原型上有then、catch等方法。...状态的缺点: 无法取消Promise,一旦新建它就会立即执行,无法中途取消。 如果不设置回调函数,Promise内部抛出错误,不会反应到外部。...使用语法: let p = new Promise( (resolve,reject)=>{ //resolve 和reject是两个函数 }) p.then( ()=>{}, // 传入的resolve...使用语法:Promise.all([ p,p1,p2.... ]).then() 使用实例如下: const p1 = new Promise((resolve,reject)=>{ resolve...Promise的缺点 无法取消Promise,一旦新建就会立即执行,无法暂停和取消。 如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。

    47730

    ES6新增语法(五)——Promise详解

    Promise介绍 promise是一个对象,从它可以获取异步操作的消息。有all、race、reject、resolve这几个方法,原型上有then、catch等方法。...状态的缺点: 无法取消Promise,一旦新建它就会立即执行,无法中途取消。 如果不设置回调函数,Promise内部抛出错误,不会反应到外部。...使用语法: let p = new Promise( (resolve,reject)=>{ //resolve 和reject是两个函数 }) p.then( ()=>{}, // 传入的resolve...使用语法:Promise.all([ p,p1,p2.... ]).then() 使用实例如下: const p1 = new Promise((resolve,reject)=>{ resolve(...Promise的缺点 无法取消Promise,一旦新建就会立即执行,无法暂停和取消。 如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。

    46510

    JavaScript与TypeScript的基础语法对比

    在本文中,我们将探讨这两者之间的基础语法对比,并讨论为什么在某些情况下选择使用TypeScript而不是JavaScript。...让我们来看一个简单的例子,展示了JavaScript和TypeScript之间的语法差异:// JavaScriptvar x = 10;let y = "Hello";const z = true;/...为什么选择TypeScript而不是JavaScript?静态类型:TypeScript的最大特点之一就是引入了静态类型。...但对于大型、复杂的项目,使用TypeScript可以提供更好的工具和语言特性,有助于更好地管理代码库。结论JavaScript和TypeScript各有其优势和用途。...在逐渐熟悉两者语法和特性的过程中,开发者可以更灵活地选择适合自己项目的编程语言。我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

    39900

    总结TypeScript 的一些知识点:TypeScript 基础语法

    TypeScript 基础语法TypeScript 程序由以下几个部分组成:模块函数变量语句和表达式注释第一个 TypeScript 程序我们可以使用以下 TypeScript 程序来输出 "Hello...空白和换行TypeScript 会忽略程序中出现的空格、制表符和换行符。...TypeScript 区分大小写TypeScript 区分大写和小写字符。分号是可选的每行指令都是一段语句,你可以使用分号或不使用, 分号在 TypeScript 中是可选的,建议使用。...TypeScript 支持两种类型的注释单行注释 ( // ) − 在 // 后面的文字都是注释内容。多行注释 (/* */) − 这种注释可以跨越多行。...TypeScript 是一种面向对象的编程语言。面向对象主要有两个概念:对象和类。对象 :对象是类的一个实例(对象不是找个女朋友),有状态和行为。

    57010
    领券