Promise.getNewLibraryCopy() -> Object
Returns a new independent copy of the Bluebird library.
This method should be used before you use any of the methods which would otherwise alter the global Bluebird
object - to avoid polluting global state.
A basic example:
var Promise = require('bluebird'); var Promise2 = Promise.getNewLibraryCopy(); Promise2.x = 123; console.log(Promise2 == Promise); // false console.log(Promise2.x); // 123 console.log(Promise.x); // undefined
Promise2
is independent to Promise
. Any changes to Promise2
do not affect the copy of Bluebird returned by require('bluebird')
.
In practice:
var Promise = require('bluebird').getNewLibraryCopy(); Promise.coroutine.addYieldHandler( function() { /* */ } ); // alters behavior of `Promise.coroutine()` // somewhere in another file or module in same app var Promise = require('bluebird'); Promise.coroutine(function*() { // this code is unaffected by the yieldHandler defined above // because it was defined on an independent copy of Bluebird });
© 2013–2017 Petka Antonov
Licensed under the MIT License.
http://bluebirdjs.com/docs/api/promise.getnewlibrarycopy.html