npm-install once

Once 是我最習慣的模塊,它展現了幾乎全部的我書寫的經過issac Schlueter建立的應用。npm

原理很簡單,Once使用各種一個函數且返回了一個函數,你能夠調用這個函數,可是隻能調用一次。若是你想調用屢次,子函數的調用將不會受理。安全

var once = require(‘once’)

function myAPI (cb) {
  cb = once(cb)
  // my code
}

下面防止你錯誤毀掉兩次,且容許你更加安全的將回調處理函數直接附加到事件觸發器(event emitter)上面且在合適的地方stream函數

function (cb) {
  cb = once(cb)
  var stream = createReadableStream()
  stream.on(‘data’, { /* do stuff with data */ })
  stream.on(‘end’, cb)
  stream.on(‘error’, cb)
}

根聽說明,一個能夠閱讀的stream應該只是結束或者發生錯誤一次,實際上不少的strema沒有爲此檢車屬性,這致使了錯誤可能在完全結束以後發生,或者在錯誤以後回調結束。ui

上面的函數保證了你不會發生這些bug。spa

 

原文:https://blog.xervo.io/npm-install-oncecode

相關文章
相關標籤/搜索