摘要:自己最大的賣點就是異步回調,但是又總是在一路上撒潑一樣在脫掉這一塊外衣。
js 自己最大的賣點就是異步回調,但是又總是在一路上撒潑一樣在脫掉這一塊外衣。
1: 最原始的回調實現
const fs = require("fs") function readFileOne(path,callback){ fs.readFile(path,function(err,res){ if(!err) { callback.call(null,null, res.toString() ) }else{ callback.call(null,err) } }) } readFileOne("./test.json",function(err,res){ console.log(res) })
沒毛病,上面的代碼很容易就實現了讀取文件的操作,回調函數很方便,可惜半路殺出一個promise
2: promise 實現異步寫法
const fs = require("fs") function readText(){ return new Promise((resolve,reject)=>{ fs.readFile("./test.json",(err,res)=>{ if(err){ reject(err) }else{ resolve(res) } }) }) } readText().then((res)=>{ console.log(res.toString()) }).catch((e)=>{ console.log(e) })
也完全沒有毛病,實現手段上更加流化,實現了異步代碼同步化寫,然毛線,又出來一個 Generate],這個是個什么東西?可以看我的另一篇文章 javascript中 迭代器是個什么東西?
3: generate 迭代器 實現異步
const fs = require("fs") // 8.x版本node內置將函數轉化為`pronmise`的方法 const { promisify } = require("util") const proFiles = promisify(fs.readFile) function* readFile(path){ yield proFiles(path) } var g = readFile("./test.json") g.next().value.then((r)=>{ console.log(r.toString() ) })
4: generate 還沒有用熟練,es7最終出了終極解決方法 Async
async 更加語義化比generator,也不單單是相對于異步請求,
const proFiles = promisify(fs.readFile) const readFile = async function (path){ let res = await proFiles(path) return res } readFile("./test.json").then((res)=>{ console.log(res.toString()) })
這個是最簡單的 async同步使用方式,更加復雜的可以i查看;這里值是拋磚引玉
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108508.html
摘要:用將倒放這次讓我們一個用做一個小工具將動態圖片倒序播放發現引力波的機構使用的包美國科學家日宣布,他們去年月首次探測到引力波。宣布這一發現的,是激光干涉引力波天文臺的負責人。這個機構誕生于上世紀年代,進行引力波觀測已經有近年。 那些年我們寫過的爬蟲 從寫 nodejs 的第一個爬蟲開始陸陸續續寫了好幾個爬蟲,從爬拉勾網上的職位信息到爬豆瓣上的租房帖子,再到去爬知乎上的妹子照片什么的,爬蟲...
摘要:是負責展示京東商品的落地頁面。比如京東首頁,正常情況加載完頁面一共有多個節點,基本上全部用于展示商品信息廣告圖和內容布局,頁面上的三方異步服務也比較少。 原文:https://keelii.github.io/2016/07/31/something-have-to-say-with-JD-item 簡介 詳情頁也叫做單品頁,域名以「item.jd.com/skuid.html」為格式...
閱讀 1829·2023-04-26 00:59
閱讀 3130·2021-11-15 18:10
閱讀 3072·2021-09-22 16:02
閱讀 766·2021-09-02 15:15
閱讀 3716·2019-08-30 15:56
閱讀 1917·2019-08-30 15:54
閱讀 2858·2019-08-29 16:31
閱讀 2035·2019-08-29 16:10