es6语法总结二Promise

    let checkLogin = function () {
        return new Promise(function (resolve, reject) {
            let flag = document.cookie.indexOf(‘userId‘)>-1?true:false;

            if(!flag){
                console.log(flag)
                resolve({
                    status:0,
                    result:true
                })
            }else {
                reject(‘error000‘);
            }
        })
    };

    let getUserInfo = () => {
        return new Promise((resolve,reject)=>{
            let userInfo = {
                userId:‘101‘
            };
            resolve({userInfo});
        });
    }

    checkLogin().then(function (res) {
        if(res.status==0){
            console.log(‘login succsess‘);
            return getUserInfo();
        }
    }).catch((error)=>{
        console.log(`errors:${error}`);
    }).then((res2)=>{
        console.log(`userId:${res2.userInfo.userId}`)
    }).catch((error)=>{

    })

    Promise.all([checkLogin(),getUserInfo()]).then(([res1,res2])=>{
        console.log(`result1:${res1.result},reult2:${res2.userInfo.userId}`);
    })

  

时间: 2024-10-31 01:00:10

es6语法总结二Promise的相关文章

ES6 语法学习(二)

1.类的建立与继承 constructor方法是类的构造函数是默认方法,通过new命令生成对象实例时,自动调用该方法.一个类必须有constructor方法,如果没有显式定义,一个默认的constructor方法会被添加.所以即使你没有添加构造函数,也是有默认的构造函数的.一般constructor方法默认返回实例对象this,但是也可以指定constructor方法返回一个全新的对象,让返回的实例对象不是该类的实例 <script> //注意,在书写ES6的类的时候,方法与方法之间是不能添加

ES6入门十二:Module(模块化)

webpack4打包配置babel7转码ES6 Module语法与API的使用 import() Module加载实现原理 Commonjs规范的模块与ES6模块的差异 ES6模块与Nodejs模块相互加载 模块循环加载 一.webpack4打包配置babel7转码ES6 1.webpack.config.js 在webpack中配置babel转码其实就是在我之前的webpack配置解析基础上添加babel的加载器,babel的具体转码配置在之前也有一篇详细的博客做了解析: webpack安装与

重读es6, 正确了解promise中catch的用法

前言 在最近的项目中,用到了es6的promise语法,发现promise.prototype.catch 并不只是单单reject抛出的回调函数,所以今天做一些笔录,防止以后在项目中又碰到这样的问题. 先介绍一下promise.prototype.catch Promise.prototype.catch 方法是 .then(null, rejection) 或是 .then(undefined, rejection)的别名,用于指定发生错误时的回调函数. 如果Promise 对象状态变为re

webpack4 使用babel处理ES6语法的一些简单配置

一,安装包 npm install --save-dev babel-loader @babel/corenpm install @babel/preset-env --save-devnpm install --save @babel/polyfillnpm install --save-dev @babel/plugin-transform-runtimenpm install --save @babel/runtime npm install @babel/runtime-corejs2

ES6语法详解

1.  ES6发展历史以及介绍 略.....   不废话 2.  ES6新特性:let和const关键字 在之前的JavaScript中,变量的定义我们一般都是使用“var”关键字做为定义的,“var”关键字定义的变量存在一个缺点,那就是作用域不明显,有时候明明在私有方法中定义的,却成为了全局变量.从而影响到我们其他的数据操作.所以在ES6中为了解决这个弊端,而引入了“let”和“const”这两个关键字. “let”关键字:用作定义私有数据,该变量只在定义的代码块中生效使用,其他地方不会生效被

ES6语法兼容浏览器(主要是IE)

1.浏览器兼容ES6基础语法(包括箭头函数):在引入其它脚本之前引入browser.min.js,然后script的type属性改成text/babel: 2.使IE浏览器兼容ES6语法(Promise等语法):引入polyfill.min.js <script type="text/javascript" src = "https://cdn.polyfill.io/v2/polyfill.min.js?features=es6"></scrip

ES6新特性之 promise

新的ES6中引入了promise的概念,目的是让回调更为优雅.层层嵌套的回调会让javascript失去美感和可读性,同时javascript也推荐采用链式的方式去书写函数调用.于是Promise就应运而生.Promise即承诺的意思,new一个Promise就是新建一个承诺.在新建一个承诺的时候你需要做两件事情: 1.指定承诺所需完成的事 2.设置承诺是否实现的标准 下面我们来定义一个承诺: 1.承诺的内容:“获取data.php的数据”, 2.承诺是否实现的评判是:“是否获取data.php

WebStorm ES6 语法支持设置

ECMAScript 6是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础上,推出JavaScript 2.0.ES6的目标,是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言. 作为一只猴子,我也想尝试一下ES6有什么新特性,于是开始了学习之路. 在webstorm写下了这段代码,体验一下ES6语法的便利,但是一大堆报错 各种语法错误 what the fuck 相信每一只程序猴都不想在这样的环境下编码,

webpack打包不识别es6语法的坑

今天Vue项目npm run build 后webpack,报错uglifyjs,自己研究了一下,翻译过来,意思是不识别项目中写的高级语法,这里要把项目里es6语法转es5让浏览器识别, 也就是webpack的babel需要配置下 Babel其实是一个编译JavaScript的平台,它的强大之处表现在可以通过编译帮你达到以下目的: 使用下一代的JavaScript代码(ES6,ES7...),即使这些标准目前并未被当前的浏览器完全的支持: 使用基于JavaScript进行了拓展的语言,比如Rea