2 回答

TA贡献1852条经验 获得超1个赞
我想我会将存储桶对象“映射”到存储桶名称...
bucketWithName(name) {
let buckets = { bucket2: this.bucket2, ... others here ...}
return buckets[name] || this.bucket // this.bucket is default
}
getDoc(bucketName, docID) {
let bucket = this.bucketWithName(bucketName);
return new Promise((resolve, reject) => {
bucket.get(docID, (err, result) => {
if (err) return reject(err);
return resolve({ docID, result });
});
});
}

TA贡献1784条经验 获得超8个赞
一个稍微不同的解决方案是将桶作为参数传递,而不是使用变量来决定使用哪个变量。举个例子:
getDoc(bucket, docID) {
return new Promise((resolve, reject) => {
bucket.get(docID, (err, result) => {
if (err) return reject(err);
return resolve({ docID, result });
});
});
}
this.getDoc(this.bucket, some_id);如果您需要在此上下文中使用bucket 或在此上下文this.getDoc(this.bucket2, some_id);中使用bucket2,请使用它调用它 。
我希望它有帮助!
添加回答
举报