revert Merge branch 'main' of http://47.107.152.87:3000/liubiao/APP # Conflicts: # .gitignore # pages/common/index/index.vue # unpackage/dist/dev/app-plus/app-config-service.js # unpackage/dist/dev/app-plus/app-service.js # unpackage/dist/dev/app-plus/app-view.js # unpackage/dist/dev/app-plus/manifest.json # utils/request.js
37 lines
685 B
Markdown
37 lines
685 B
Markdown
# wrappy
|
|
|
|
Callback wrapping utility
|
|
|
|
## USAGE
|
|
|
|
```javascript
|
|
var wrappy = require("wrappy")
|
|
|
|
// var wrapper = wrappy(wrapperFunction)
|
|
|
|
// make sure a cb is called only once
|
|
// See also: http://npm.im/once for this specific use case
|
|
var once = wrappy(function (cb) {
|
|
var called = false
|
|
return function () {
|
|
if (called) return
|
|
called = true
|
|
return cb.apply(this, arguments)
|
|
}
|
|
})
|
|
|
|
function printBoo () {
|
|
console.log('boo')
|
|
}
|
|
// has some rando property
|
|
printBoo.iAmBooPrinter = true
|
|
|
|
var onlyPrintOnce = once(printBoo)
|
|
|
|
onlyPrintOnce() // prints 'boo'
|
|
onlyPrintOnce() // does nothing
|
|
|
|
// random property is retained!
|
|
assert.equal(onlyPrintOnce.iAmBooPrinter, true)
|
|
```
|