emit

<!-- 【$emit】

子里如何给父组件传递数据?

利用发通知的形式来间接传数据。

发通知的语法:this.$emit('自定义的事件名'数据)

父里要订阅这个通知(相当于监听这个事件)

<子组件 @自定义的事件名="函数">

当子的$emit执行时,就会自动调用父里绑定的函数,函数的参数就是子传递过来的数据。

例:

子里的代码

<button aclick="$emit('sb','hello')">点击后,要给父传递数据</button>

解释:当子组件里面点了这个按钮,就会触发一个叫sb的事件,那个父组件如果监听了sb就会调用。

父里的代码

<子组件 @sb="函数"/>

当sb事件通知时,就会调用上面的函数,函数的参数就是永不过时。 -

stuEmit.vue

<template><div class="son"><button @click="fn1"> 点击这个按钮,子组件的值传递给父组件</button></div></template><script>export default {methods:{fn1(){//给父组件传递值// this.$emit('自定义事件名',传递的数据)this.$emit('sb','hello')}
}}</script><style>.son {width: 500px;height:500px;border: 1px solid gold;}</style>

promise

// 导入fs filesystem 文件管理器

const fs = require('fs')

// 构建promise对象

const ps = new Promise((resolve, reject) => {

// 调用fs模块中的文件

fs.readFile('./1.txt', (err, data) => {

// 读取成功状态下

if (!err) {

//   调用resolve方法并传入读取到的内容

resolve(data)

} else {

// 读取失败调用reject方法并传入错误信息

reject(err)

}

})

})

// promise还可以调用两个方法

ps.then( res => {

console.log('then调用了' + res);

})

.catch( err => {

console.log('catch调用' + err);

})

作业

console.log(1);

new Promise((resolve,reject) => {

console.log(2);

setTimeout(() => {

console.log(6);

// 产生一个0到10的随机数

let num = Math.floor(Math.random() * 11)

// 如果大于等于5就resolve

if(num >= 5){

resolve()

} else {

// 否则就reject

reject()

}

},1000);

console.log(3);

})

.then(res => {

console.log(4);

})

.catch(err => {

console.log(7);

})

promise封装文件读取

fs.js

//导入fs模块const fs = require('fs')//构建一个读取文件的函数
function readFile(path){//构建的promise对象,将异步代码同步化return new Promise((resolve,reject) => {//异步代码读取文件fs.readFile(path,(err,data) => {//读取成功if(!err) {resolve(data)}else{reject(err)}})})}readFile('./1.txt')
.then(res => {console.log('读取到的结果是'+ res);
})
.catch(err => {console.log(err);
})
readFile('./2.txt')
.then(res => {console.log('读取到的结果是' + res);
})//完成了写入文件时函数的封装
function writeFile(path,content){return new Promise ((resolve,reject) => {fs.writeFile(path,content,err =>{if(!err){resolve()}else{reject(err)}})})}
writeFile('./1.txt','小黑邹')
.then(res => {console.log(res);
})
.catch (err => {console.log(err);
})
writeFile('./2.txt','1234')

index.js

// 大部分涉及异步操作的库、模块,都提供了基于promise的封装版本
//fs模块也有promise版const fs = require('fs/promises')fs.readFile('./1.txt')
.then (data => {// console.log(data);
console.log(data.toString());})
.catch (err => {console.log(err);
})
fs.writeFile('./2.txt','我是2新写入的内容')
.then(()=> {console.log('写入成功');}).catch( err => {
console.log(err);
})

vue(emit)、node(promise、 promise封装文件读取)相关推荐

  1. Vue:利用Plupload插件封装文件上传组件

    接上回<Plupload插件>,已经尝试将Plupload插件引入到HTML页面中,并进行参数配置,然后联合后端接口进行调试,完成了文件上传的工作.但是在Vue项目的开发中,我们更想将它封 ...

  2. Node.js web服务器文件读取

    当采用Node.js搭建服务器需要响应浏览器发送的资源请求,服务端应该如何进行磁盘管理操作 由于文件我们预先是不是知道的 var http=require('http') http.createSer ...

  3. [Node.js] 模块化 -- fs文件读取模块

    基本用法 导包: const fs = require('fs'); 调用unlink方法: 第一个参数:要删除的文件的路径 第二个参数:回调函数 // 01.导包 const fs = requir ...

  4. promise使用promise进行封装授权登录接口

    使用promise进行封装授权登录的接口  放在app.vue里面 // 登录login() {return new Promise((resolve, reject) => {uni.logi ...

  5. vue获取上传进度_文件上传与读取实时进度展示-demo(Vue)

    监听进程的方法onprogress 1 )文件读取的progress事件属于FileReader对象. 2 )下载的progress事件属于XMLHttpRequest对象. 3 )上传的progre ...

  6. Node.js Promise.all 限制并发数量

    为什么80%的码农都做不了架构师?>>>    Promise.all 本身不负责执行,执行过程在传递给Promise.all之前已经开始,Promise.all只等待全部执行完成, ...

  7. 极简 Node.js 入门 - 3.2 文件读取

    Node.js 提供了多种读取文件的 API fs.readFile fs.readFile(path[, options], callback) 是最常用的读取文件方法,用于异步读取文件的全部内容 ...

  8. node.js Promise详解(尚硅谷李立超老师视频笔记)

    • Promise就是一个用来存储数据对象,但是由于Promise存取的方式的特殊,所以可以直接将异步调用的结果存储到Promise中 Promise存储异步数据: function sum(a,b) ...

  9. node.js同步文件写入、异步文件写入、简单文件写入、简单文件读取、流式文件写入、流式文件读取、fs模块的其他方法

    fs(文件系统 File System) 使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载 fs模块中所有的操作都有两种形式可供选择(同步和异步) 同步文件会阻塞程序的执行,也就是 ...

最新文章

  1. 《CCNP TSHOOT 300-135认证考试指南》——2.2节故障检测与排除及网络维护工具箱
  2. C Primer Plus 第6章 C控制语句 6.16 编程练习及答案
  3. python 样本均值t检验_假设检验与单样本T检验(上)
  4. 用高精度方法计算n! ,并显示n!(阶乘)的值。
  5. CentOS 7 上 Docker 安装
  6. TCP/IP编程之SO_REUSEADDR和SO_REUSEPORT套接字选项
  7. 面试官:什么是JDK什么是JRE?服务器可以只安装JRE吗?
  8. openstack内存占用清理
  9. 史上首次无人车队集体婚礼,直男新郎给新娘の礼物:工业设计书
  10. pandas 日期比较大小_计算pandas Dataframe中的日期时间差异
  11. 谷歌研发开源协议,助听器有望原生支安卓系统
  12. 解决ios手机页面overflow scroll滑动很卡的问题
  13. 登录服务器时显示 IE COOKIE阻止,[IE问题]IE相关设置-智明协同
  14. SQLServer中如何高效解析JSON格式数据
  15. 统一服务消息 【公众号和小程序 模板消息下发统一openId解惑】
  16. Hive综合应用案例——用户学历查询
  17. flutter 微信语言选择_#Flutter项目(3)之仿写微信通讯录界面
  18. 直播当道,平台该如何做好内容审核规避风险?
  19. 2884: 水果分级
  20. Simulink移动机器人仿真学习--Trick记录

热门文章

  1. numpy中sum函数求和时参数axis=0和axis=1的含义
  2. 外国客户一般汇款到国内需要多久时间?
  3. 主成分分析碎石图_用户体验数据的多维度处理:PC A法及碎石图
  4. 众多碎石3d材质贴图素材一键即可获取
  5. php64解密,PHP 用base64兑现加密解密
  6. 使用命令行进行文件操作
  7. RGB、YUV420p、YUV420sp之间的互相转换(C++)
  8. shu mei pai
  9. 1 3 倍频程谱 c语言,频谱、能谱、功率谱、倍频程谱、1/3 倍频程谱
  10. 第三章 基本数据类型-字符串类型认识