Javascript:使用promises时使用Provider

时间:2017-09-09 17:24:02

标签: javascript firebase ionic-framework ionic3 firebase-storage

我正在将相机图片上传到Firebase存储桶。完成后,我检索image-url以在我的视图中显示它。目前的编码看起来像这样:

Lib Example
Call from LibA.a
LibA->Fun:0
Call from LibA.a
LibA->Fun:1
Call from LibA.a
LibA->Fun:2
Call from App
Main->Fun:0
Call from App
Main->Fun:1
Call from App
Main->Fun:2
Call from LibA.a
LibA->Fun:3

它有效,但它并不是很好。我想把编码处理成数据库到提供者。在firebase存储上使用promises时如何实现?由于异步处理,我无法直接访问并返回提供程序方法中的URL:

  takePicture() {
    this.camera.getPicture(this.cameraOptions)
      .then(data => {
        let base64Image = 'data:image/jpeg;base64,' + data;
        let storageRef = firebase.storage().ref();
        let imageName = this.imageSrv.generateUUID();
        let imageRef = storageRef.child(`${this.afAuth.auth.currentUser.uid}/${imageName}.jpg`);
        imageRef.putString(base64Image, 'data_url').then(data => {
          imageRef.getDownloadURL().then(data => { this.url = data.toString(); })
        }
        )
      });
  }

我还想为N个图像执行此操作以查看图库。 提前谢谢。

0 个答案:

没有答案