vue(emit)、node(promise、 promise封装文件读取)
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封装文件读取)相关推荐
- Vue:利用Plupload插件封装文件上传组件
接上回<Plupload插件>,已经尝试将Plupload插件引入到HTML页面中,并进行参数配置,然后联合后端接口进行调试,完成了文件上传的工作.但是在Vue项目的开发中,我们更想将它封 ...
- Node.js web服务器文件读取
当采用Node.js搭建服务器需要响应浏览器发送的资源请求,服务端应该如何进行磁盘管理操作 由于文件我们预先是不是知道的 var http=require('http') http.createSer ...
- [Node.js] 模块化 -- fs文件读取模块
基本用法 导包: const fs = require('fs'); 调用unlink方法: 第一个参数:要删除的文件的路径 第二个参数:回调函数 // 01.导包 const fs = requir ...
- promise使用promise进行封装授权登录接口
使用promise进行封装授权登录的接口 放在app.vue里面 // 登录login() {return new Promise((resolve, reject) => {uni.logi ...
- vue获取上传进度_文件上传与读取实时进度展示-demo(Vue)
监听进程的方法onprogress 1 )文件读取的progress事件属于FileReader对象. 2 )下载的progress事件属于XMLHttpRequest对象. 3 )上传的progre ...
- Node.js Promise.all 限制并发数量
为什么80%的码农都做不了架构师?>>> Promise.all 本身不负责执行,执行过程在传递给Promise.all之前已经开始,Promise.all只等待全部执行完成, ...
- 极简 Node.js 入门 - 3.2 文件读取
Node.js 提供了多种读取文件的 API fs.readFile fs.readFile(path[, options], callback) 是最常用的读取文件方法,用于异步读取文件的全部内容 ...
- node.js Promise详解(尚硅谷李立超老师视频笔记)
• Promise就是一个用来存储数据对象,但是由于Promise存取的方式的特殊,所以可以直接将异步调用的结果存储到Promise中 Promise存储异步数据: function sum(a,b) ...
- node.js同步文件写入、异步文件写入、简单文件写入、简单文件读取、流式文件写入、流式文件读取、fs模块的其他方法
fs(文件系统 File System) 使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载 fs模块中所有的操作都有两种形式可供选择(同步和异步) 同步文件会阻塞程序的执行,也就是 ...
最新文章
- 《CCNP TSHOOT 300-135认证考试指南》——2.2节故障检测与排除及网络维护工具箱
- C Primer Plus 第6章 C控制语句 6.16 编程练习及答案
- python 样本均值t检验_假设检验与单样本T检验(上)
- 用高精度方法计算n! ,并显示n!(阶乘)的值。
- CentOS 7 上 Docker 安装
- TCP/IP编程之SO_REUSEADDR和SO_REUSEPORT套接字选项
- 面试官:什么是JDK什么是JRE?服务器可以只安装JRE吗?
- openstack内存占用清理
- 史上首次无人车队集体婚礼,直男新郎给新娘の礼物:工业设计书
- pandas 日期比较大小_计算pandas Dataframe中的日期时间差异
- 谷歌研发开源协议,助听器有望原生支安卓系统
- 解决ios手机页面overflow scroll滑动很卡的问题
- 登录服务器时显示 IE COOKIE阻止,[IE问题]IE相关设置-智明协同
- SQLServer中如何高效解析JSON格式数据
- 统一服务消息 【公众号和小程序 模板消息下发统一openId解惑】
- Hive综合应用案例——用户学历查询
- flutter 微信语言选择_#Flutter项目(3)之仿写微信通讯录界面
- 直播当道,平台该如何做好内容审核规避风险?
- 2884: 水果分级
- Simulink移动机器人仿真学习--Trick记录