0
点赞
收藏
分享

微信扫一扫

Promise以及模块化以及class

本篇文章自己看看还行,其他童鞋估计看不懂,,, 我也就是自己看视频记录下笔记的,,

        var p = new Promise(function(resolve,reject) {
//立即执行(异步)
resolve(成功结束) ;

reject(失败结束);
})
p.then(function(data) {
console.log(data);
}).catch(function(err){
console.log(err);
}).finally(function(){
//无论结束状态如何,都要操作的代码

})

Promise API
Promise.all([p1,p2,p3])
当p1,p2,p3的状态全部为resolved时候,p的状态才会转换为resolved。
p.then(监听成功之后的结果)

当p1,p2,p3中有一个为rejected,p的状态就立即变为rejected,回调函数的参数就为这个承诺对象的回调函数返回值。

Promise.race();
var p = Promise.race([p1,p2,p3]);

模块化

  模块内部属性和方法都是私有的,其他的模块不能访问,如果想要让其他模块访问,必须暴露接口(module  这里的module是任意模块当中的内部对象,exports 是module的属性)

module.exports.name=’’;
module.exports.age=’’;
module.exports={name:’’,age:12}
export命令用于规定模块的对外接口,import命令用于输入其​​​他模块提供的功能。一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取内部的某个变量,就必须使用export关键字输出该变量。​

模块的引用
require(‘既可以放路径,又可以放模块名’),
比如路径的话,后面的js可以省略,看写法:require(’./module1’) 跟 require(’./module1.js’)其实是一模一样的

​import * as person from './module' //星号是所有的意思​​,将所有的对象导进来,然后别名为person(新学到的知识点哦)

​import { name as a, age as b} from './module'​​ 这个写法也是可以的

默认导出(export default),后面跟着一个匿名函数,或者匿名对象
export default {
name,
age,
gender
}
然后在页面接收方式为:
import person from './module'

export let a = 1;
export let b = 2;
export let sayHello = function(){
console.log("hello");
};
import {a,b,sayHello} from './module';
这样就是整个都全部导出来啦

模块化:
模块的定义,定义在一个js文件里面,独立作用域,私有属性,export暴露接口,在一个模块中,默认导出只能有一个,也就是export default不允许写2次

模块引用
import 变量 from ‘路径/模块名’
引用默认导出的模块

import everyName require './module2'
export ... from ...
=>
import ... from ...(先导入)
export ... (再导出)

class

在js语言中,生成实例对象的传统方法就是通过构造函数,es6提供了更接近传统语言的写法,引入了Class(类)这个概念。通过class关键字,可以定义类。基本上,他的绝大多数功能ES5是都能做到的,先的class写法只是让对象原型的写法更加清晰,更像面向对象编程的语法而已。所以ES6的类,完全可以看作是构造函数的另一种写法。


举报

相关推荐

0 条评论