1

我正在尝试使用 AngularFire 将函数从使用本机 Firebase 库转换和上传到 AngularFire2 v5 库。我如何知道上传何时完成,以便之后可以运行其他命令。

const image = firebase.storage().ref().child(`${user.uid}/${path}`)
    .putString(this.imageData, "base64", metadata)
    .then(() => {
        this.progressState.next(EProgressState.fadeout);
    }).catch(() => {
        this.progressState.next(EProgressState.error);
        reject();
    });

这成功地工作。到目前为止,我正在尝试实施

this.task = this.afStorage.ref(`${user.uid}/${path}`)
    .putString(this.imageData, "base64", metadata);

但我似乎无法添加.then(() => {})声明。

4

1 回答 1

2

在阅读了 Github 帖子后,我找到了这个链接。根据API Surface它应该是

this.task = this.afStorage.ref(`${user.uid}/${path}`)
.putString(this.imageData, "base64", metadata);

this.task.then(res=>console.log('Success'));

但是有些人已经实现了

this.task.then().then(res => {
  console.log('Success');
});

我不知道为什么要使用then()两次

于 2018-03-25T17:22:00.850 回答