我是 NodeJS 的新手,目前面临以下情况。
router.post('/create', (req, res, next)=>{
var requestBucketParams = {
Bucket: req.body.bucket
}
var deliveryBucketParams = {
Bucket: "delivery-" + req.body.bucket
}
var isBucketCreationSuccess = false;
// setBucketCreationSuccessCallback(setBucketCreationSuccess);
// Create Bucket and Delivery Bucket
s3.createBucket(requestBucketParams, (err, data)=>{
if (err) {
console.log("error ", err);
res.send({
message: "error while creating the bucket",
description: err.message
});
} else {
console.log("Success", data.Location);
s3.createBucket(deliveryBucketParams, (err, data)=>{
if (err) {
console.log("Error", err);
res.send({
message: "error while creating the bucket",
description: err.message
});
} else {
isBucketCreationSuccess = true;
console.log("Success", data.Location);
}
})
}
});
if(isBucketCreationSuccess){
Bucket.create({
bucketId: uuidv4(),
name: req.body.bucket,
bucket_url: "http://" + req.body.bucket + ".s3.amazonaws.com",
delivery_bucket_url: "http://delivery-" + req.body.bucket + ".s3.amazonaws.com"
}).then(bucket=>{
res.send({
url: "http://" + req.body.bucket + ".s3.amazonaws.com",
delivery_url: "http://delivery-" + req.body.bucket + ".s3.amazonaws.com"
})
}).catch(err=>{
res.send({
message: err.message
})
})
}else{
res.send({
message: "Database record creation failed"
})
}
});
虽然我想添加一条记录,但似乎isBucketCreationSuccess没有在 aws-sdk 的第二个 createBucket 函数中设置变量。
我知道这可以通过回调来解决,但是谁能告诉我如何在这里使用它?