我在测试应用程序中具有一项功能,该功能允许用户针对每个“数据收集”提交基于文本的数据和一个图像文件。我有以下代码来存储这两个数据:
let rtdbRef = firebase.database().ref().child('someNode').push();
let pushedKey = rtdbRef.key;
rtdbRef.set({
someKey: someValue
})
.catch((e) => {
//Handle error;
});
let storageRef = firebase.database().ref().child('images/' + pushedKey);
storage.put(myFile).then((snapshot) => {
console.log('File upload successful');
}).catch((e) => {
//Handle error;
});
如您所见,我正在使用两个独立的Promise
链上传数据。因此,我将其更改为以下内容:
let rtdbRef = firebase.database().ref().child('someNode').push();
let pushedKey = rtdbRef.key;
let storageRef = firebase.database().ref().child('images/' + pushedKey);
rtdbRef.set({
someKey: someValue
})
.then({
return storageRef.put(myFile).then((snapshot) => snapshot);
})
.catch((e) => {
//Handle error;
});
我更改了初始代码,是因为我认为可能会存储基于文本的数据,但图像文件上传失败。但是,将我的初始代码更改为第二个代码似乎并没有任何改善: