function once(fn, context) {
  var result
  return function() {
    if (fn) {
      result = fn.apply(context || this, arguments)
      fn = null
    }
    return result
  }
}
Run function once
@param {Function} fn - Function to run just once
@param {*} [context] - Extend function context
@returns