gpt4 book ai didi

javascript - 如何在不全局修改 fs 的情况下执行 Promise.promisfyAll(fs)(在编写库时)?

转载 作者:行者123 更新时间:2023-11-29 21:50:05 30 4
gpt4 key购买 nike

AFAICT,如果我正在编写一个库并使用 Promise.promisifyAll(fs);,这会修改 fs 模块(而不是返回修改后的复制)。因此,如果有人导入我的库,这也会对他们修改 fs 产生副作用。

有没有办法避免这种情况?

最佳答案

您可以为不想更改的全局使用包装器对象:

var Promise = require('bluebird');
var fs = Promise.promisifyAll(function(orig) {
var myFs = {};
for (var m in orig)
myFs[m] = orig[m]; // .bind(orig); is probably unnecessary
return myFs;
}(require('fs')));

关于javascript - 如何在不全局修改 fs 的情况下执行 Promise.promisfyAll(fs)(在编写库时)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29733387/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com