Promise.getNewLibraryCopy
Promise.getNewLibraryCopy() -> Object
Возвращает новую независимую копию библиотеки Bluebird.
Этот метод следует использовать перед использованием любых методов, которые в противном случае изменят глобальный Bluebird объект — чтобы избежать загрязнения глобального состояния.
Базовый пример:
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 независима от Promise. Любые изменения в Promise2 не влияют на копию Bluebird, возвращаемую методом require('bluebird').
На практике:
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–2018 Petka Antonov
Licensed under the MIT License.
http://bluebirdjs.com/docs/api/promise.getnewlibrarycopy.html