使用async读取异步数据
使用传统方式读取异步数据
const fs = require('fs')
fs.readFile('readme.txt', function (err, data) {
console.log(data.toString());
})
// hello async
使用promise对象读取异步数据
const fs = require('fs')
function readFile(path) {
return new Promise((resolve, reject) => {
fs.readFile(path, function (err, data) {
if (err) {
reject(err);
return;
}
resolve(data);
})
})
}
readFile('readme.txt').then((data) => {
console.log(data.toString()); // hello async
}).catch(e => {
console.log(e);
})
使用async/await读取异步数据
const fs = require('fs')
function readFile(path) {
return new Promise((resolve, reject) => {
fs.readFile(path, function (err, data) {
if (err) {
reject(err);
return;
}
resolve(data);
})
})
}
async function foo1(){
const data = await readFile('readme.txt');
console.log('--------------------------------');
console.log(data.toString());
}
foo1() // hello async
使用node自带的promisify读取异步数据
const fs = require('fs')
const promisify = require('util').promisify;
const rf = promisify(fs.readFile)
// 直接读取
rf('readme.txt').then((data) => {
console.log(data.toString()); // hello async
}).catch(e => {
console.log(e);
})
// 使用async读取
async function demo() {
const data = await rf('readme.txt');
console.log(data.toString());
}
demo(); // hello async
使用async读取异步数据的更多相关文章
- Promise,Generator(生成器),async(异步)函数
Promise 是什么 Promise是异步编程的一种解决方案.Promise对象表示了异步操作的最终状态(完成或失败)和返回的结果. 其实我们在jQuery的ajax中已经见识了部分Promise的 ...
- ajax读取json数据
首先建立json.txt文件 { "programmers": [ { "firstName": "Brett", "lastNa ...
- echarts异步数据加载(在下拉框选择事件中异步更新数据)
接触echarts 大半年了,从不会到熟练也做过不少的图表,隔了一段时间没使用这玩意,好多东西真心容易忘了.在接触echarts这期间也没有总结什么东西,今天我就来总结一下如何在echart中异步加载 ...
- EF+LINQ事物处理 C# 使用NLog记录日志入门操作 ASP.NET MVC多语言 仿微软网站效果(转) 详解C#特性和反射(一) c# API接受图片文件以Base64格式上传图片 .NET读取json数据并绑定到对象
EF+LINQ事物处理 在使用EF的情况下,怎么进行事务的处理,来减少数据操作时的失误,比如重复插入数据等等这些问题,这都是经常会遇到的一些问题 但是如果是我有多个站点,然后存在同类型的角色去操作 ...
- tensorflow读取训练数据方法
1. 预加载数据 Preloaded data # coding: utf-8 import tensorflow as tf # 设计Graph x1 = tf.constant([2, 3, 4] ...
- 【转】C# Async/Await 异步编程中的最佳做法
Async/Await 异步编程中的最佳做法 Stephen Cleary 近日来,涌现了许多关于 Microsoft .NET Framework 4.5 中新增了对 async 和 await 支 ...
- 详解vue父组件传递props异步数据到子组件的问题
案例一 父组件parent.vue // asyncData为异步获取的数据,想传递给子组件使用 <template> <div> 父组件 <child :child-d ...
- [转]详解vue父组件传递props异步数据到子组件的问题
原文地址:https://www.cnblogs.com/goloving/p/9114389.html 案例一 父组件parent.vue // asyncData为异步获取的数据,想传递给子组件使 ...
- ajax 通过回调函数获取异步数据
这里不再解释什么是 ajax,以及什么是异步的问题. 我们直接来问题,这里采用 jQuery 的 ajax 方法来获取数据. 先来看代码: $(function () { let db = ''; $ ...
随机推荐
- 【转】40个Java多线程问题总结
文章转自 五月的仓颉 http://www.cnblogs.com/xrq730/p/5060921.html 前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习, ...
- 关于用Linux桌面版当工作系统这件事
Linux稳定性好,Linux软件开放--不过等到决定把Linux当作日常工作用系统时,就一言难尽了-- 我日常工作的需求有: 笔记本扩展屏幕 Golang开发 docker/kubernetes 输 ...
- grunt完整的配置demo
const path = require('path') const fs = require('fs'); module.exports = function (grunt) { grunt.reg ...
- memset 初始化 不同数值 打表
#include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #in ...
- [JZOJ3692] 【SRM 611】ElephantDrinking
题目 题目大意 我真的不知道怎么用简短的语言表述出来-- 直接看题目吧-- 正解 假设只有左边和上边延伸过来的,那似乎很好办:设\(f_{i,j}\)表示左上方到\((i,j)\)所形成的矩形中,如果 ...
- 校园商铺-4店铺注册功能模块-5店铺注册之Service层的实现
1. 创建接口 ShopService.java package com.csj2018.o2o.service; import java.io.File; import com.csj2018.o2 ...
- 搭建CA颁发证书做https加密网站
92.168.10.187 CA服务器 192.168.10.190 web服务器 (1)搭建CA cd /etc/pki/CA 在这个目录下创建serial和index.txt两个文件 echo 0 ...
- Java-Maven-pom.xml-project-packaging:packaging(war/jar)
ylbtech-Java-Maven-pom.xml-project-packaging:packaging(war/jar) 1.返回顶部 1.packaging 1.1 war <!-- 打 ...
- Linux unzip解压多个文件
假设当前目录下有多个zip文件 data.zip invoices.zip pictures.zip visit.zip, 直接 unzip *.zip 等价于 unzip data.zip invo ...
- Appium测试过程中,建议使用谷歌输入法。用搜狗输入法报错报找不到元素,卡住
1. 手机使用谷歌输入法,在登录页面输入密码时输入数字时卡住报错 代码: 手机卡住 页面:看到页面上没有显示数字,所以卡住报错