国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端異步那些年

sshe / 1668人閱讀

摘要:自己最大的賣點就是異步回調,但是又總是在一路上撒潑一樣在脫掉這一塊外衣。

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

相關文章

  • Evil Python

    摘要:用將倒放這次讓我們一個用做一個小工具將動態圖片倒序播放發現引力波的機構使用的包美國科學家日宣布,他們去年月首次探測到引力波。宣布這一發現的,是激光干涉引力波天文臺的負責人。這個機構誕生于上世紀年代,進行引力波觀測已經有近年。 那些年我們寫過的爬蟲 從寫 nodejs 的第一個爬蟲開始陸陸續續寫了好幾個爬蟲,從爬拉勾網上的職位信息到爬豆瓣上的租房帖子,再到去爬知乎上的妹子照片什么的,爬蟲...

    Turbo 評論0 收藏0
  • 前端是有多難?

    摘要:我之前從來沒想過高階函數怎么在里面用,直到看了源碼吃了一驚,臥槽,還能這么寫還有說爛了的柯里化。然而也加重了前端的負擔。畢竟和前端靠的近,人家問起來自己不會多尷尬。好了,一個前端工程師做到這份上也算是仁至義盡了。 最近感覺追不動前端的發展了,寫篇文章感嘆一下。 HTML 我知道有一些學校會教一些簡單的網頁制作,就是用 Dreamweaver 點一點的那種。大多也會留作業,最后交作業的時...

    habren 評論0 收藏0
  • 那些的體驗技術部

    摘要:隨著業務的爆發,團隊人數迅速增長起來,團隊名也從前端開發部改名成體驗技術部,意在體現前端工程師的核心競爭力用技術解決產品體驗問題。前后端分離的研發模式在社區流行起來,體驗技術部最先實踐的是基于的應用層方案。2008 年對中國人是復雜的一年,冰災,大地震,奧運會接踵而至。對玉伯來說也一樣,趕在奧運會排查臨時人口之前,玉伯從北京中科院軟件所離開,憑著自己幾年來在程序開發上的經歷和對新興前端行業的...

    sean 評論0 收藏0
  • 京東單品頁前端開發那些不得不說的事兒

    摘要:是負責展示京東商品的落地頁面。比如京東首頁,正常情況加載完頁面一共有多個節點,基本上全部用于展示商品信息廣告圖和內容布局,頁面上的三方異步服務也比較少。 原文:https://keelii.github.io/2016/07/31/something-have-to-say-with-JD-item 簡介 詳情頁也叫做單品頁,域名以「item.jd.com/skuid.html」為格式...

    FleyX 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<