未处理的拒绝(TypeError):observer.complete.bind不是函数

阿米尔·雷扎扎德(Amir Rezazadeh)

它主要类似于instagram,当用户尝试上传帖子时,我尝试将图像上传到firebase,但是上传完成后会出现此错误。

未处理的拒绝(TypeError):observer.complete.bind不是函数

图片已成功上传,但未在应用中显示(似乎问题出在该链接firebase的问题所在)

ImageUpload.js:

import { Button } from "@material-ui/core";
import React, { useState } from "react";
import { db, storage } from "../database/firebase";
import firebase from "firebase";

function ImageUpload({ nickname }) {
  // States
  const [caption, setCaption] = useState("");
  const [image, setImage] = useState(null);
  const [progress, setProgress] = useState(0);

  // Handlers
  const handleChange = (e) => {
    if (e.target.files[0]) {
      setImage(e.target.files[0]);
    }
  };

  const handleUpload = () => {
    const uploadTask = storage.ref(`images/${image.name}`).put(image);

    uploadTask.on(
      firebase.storage.TaskEvent.STATE_CHANGED,
      (snapshot) => {
        // Progress function...
        const progress = Math.round(
          (snapshot.bytesTransferred / snapshot.totalBytes) * 100
        );
        setProgress(progress);
      },
      (error) => {
        // Error function...
        console.log(error);
      },
      // Complete function...
      storage
        .ref("images")
        .child(image.name)
        .getDownloadURL()
        .then((url) => {
          // Post image inside db
          db.collection("posts").add({
            timestamp: firebase.firestore.FieldValue.serverTimestamp(),
            caption: caption,
            imageURL: url,
            username: nickname,
          });
          setProgress(0);
          setCaption("");
          setImage(null);
        })
    );
  };

  return (
    <div>
      <progress value={progress} max="100" />
      <input
        type="text"
        placeholder="Enter a caption..."
        onChange={(event) => setCaption(event.target.value)}
        value={caption}
      />
      <input type="file" onChange={handleChange} />
      <Button onClick={handleUpload}>Upload</Button>
    </div>
  );
}

export default ImageUpload;
samthecodingman

对于您的“完整功能”,您不小心传入了PromisefromstorageRef.ref("images").child(image.name).getDownloadURL()而不是函数。

要修复它,请确保通过更改传递函数

// Complete function...
storage

// Complete function...
() => storage

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未处理的拒绝(TypeError):observer.complete.bind不是函数

来自分类Dev

未处理的拒绝(TypeError):observer.complete.bind不是函数

来自分类Dev

未处理的拒绝(TypeError):this.props.callbackFunction不是函数

来自分类Dev

未处理的拒绝(TypeError):ships.reduce不是函数

来自分类Dev

未处理的拒绝(TypeError):Storage.put不是函数

来自分类Dev

未处理的拒绝(TypeError):this.state.personals.map不是函数

来自分类Dev

未处理的拒绝(TypeError):params.setLoggedIn不是函数

来自分类Dev

rxjs TypeError:this._complete不是函数

来自分类Dev

未处理的拒绝TypeError:res.sendStatus不是一个函数

来自分类Dev

如何解决错误:未处理的拒绝(TypeError):meetups.map不是函数

来自分类Dev

反应错误:未处理的拒绝(TypeError):this.state.categories.map不是函数

来自分类Dev

删除后做出反应,我得到“未处理的拒绝(TypeError):this.state.products.filter不是函数”

来自分类Dev

在useEffect中调用Firestore时出现“未处理的拒绝(TypeError):snapshot.data不是函数”

来自分类Dev

ng2-material:“ zone.js:461未处理的承诺拒绝:TypeError:core_1.NgModule不是函数”

来自分类Dev

在React Native中,我有“警告可能的未处理的承诺拒绝(id:5):TypeError:array.push不是函数”

来自分类Dev

React Native问题:[未处理的承诺拒绝:TypeError:f不是函数。(在“ f()”中,“ f”未定义)

来自分类Dev

ng2-material:“ zone.js:461未处理的承诺拒绝:TypeError:core_1.NgModule不是函数”

来自分类Dev

未处理的承诺拒绝:TypeError:undefined 不是评估“departureloc.map”的函数,当在 React Native 中映射 setState 时发生

来自分类Dev

[未处理的承诺拒绝:TypeError:null不是对象(正在评估'_reactNativeImageCropPicker.default.openPicker')]

来自分类Dev

Google Maps JS API:未处理的承诺拒绝:TypeError:null 不是对象(Safari Mac)

来自分类Dev

TypeError:instance [method] .bind不是函数AdonisJs

来自分类Dev

未处理的承诺拒绝:this._next不是函数:@ angular / fire / messaging中的区域

来自分类Dev

ReactJS“未处理的拒绝(类型错误):this.state.features.map 不是函数”

来自分类Dev

可能的未处理的承诺拒绝(id:0):undefined不是对象

来自分类Dev

jQuery FadeOut Complete有错误:fadeOut(...)。complete不是函数

来自分类Dev

未处理的拒绝(TypeError):无法读取属性

来自分类Dev

angular 2未处理的承诺拒绝TypeError

来自分类Dev

Firebase函数中的onCall函数导致Firebase函数日志中出现未处理的拒绝错误

来自分类Dev

Angular 2未处理的承诺拒绝:模板解析错误:“ app-main”不是已知元素:

Related 相关文章

  1. 1

    未处理的拒绝(TypeError):observer.complete.bind不是函数

  2. 2

    未处理的拒绝(TypeError):observer.complete.bind不是函数

  3. 3

    未处理的拒绝(TypeError):this.props.callbackFunction不是函数

  4. 4

    未处理的拒绝(TypeError):ships.reduce不是函数

  5. 5

    未处理的拒绝(TypeError):Storage.put不是函数

  6. 6

    未处理的拒绝(TypeError):this.state.personals.map不是函数

  7. 7

    未处理的拒绝(TypeError):params.setLoggedIn不是函数

  8. 8

    rxjs TypeError:this._complete不是函数

  9. 9

    未处理的拒绝TypeError:res.sendStatus不是一个函数

  10. 10

    如何解决错误:未处理的拒绝(TypeError):meetups.map不是函数

  11. 11

    反应错误:未处理的拒绝(TypeError):this.state.categories.map不是函数

  12. 12

    删除后做出反应,我得到“未处理的拒绝(TypeError):this.state.products.filter不是函数”

  13. 13

    在useEffect中调用Firestore时出现“未处理的拒绝(TypeError):snapshot.data不是函数”

  14. 14

    ng2-material:“ zone.js:461未处理的承诺拒绝:TypeError:core_1.NgModule不是函数”

  15. 15

    在React Native中,我有“警告可能的未处理的承诺拒绝(id:5):TypeError:array.push不是函数”

  16. 16

    React Native问题:[未处理的承诺拒绝:TypeError:f不是函数。(在“ f()”中,“ f”未定义)

  17. 17

    ng2-material:“ zone.js:461未处理的承诺拒绝:TypeError:core_1.NgModule不是函数”

  18. 18

    未处理的承诺拒绝:TypeError:undefined 不是评估“departureloc.map”的函数,当在 React Native 中映射 setState 时发生

  19. 19

    [未处理的承诺拒绝:TypeError:null不是对象(正在评估'_reactNativeImageCropPicker.default.openPicker')]

  20. 20

    Google Maps JS API:未处理的承诺拒绝:TypeError:null 不是对象(Safari Mac)

  21. 21

    TypeError:instance [method] .bind不是函数AdonisJs

  22. 22

    未处理的承诺拒绝:this._next不是函数:@ angular / fire / messaging中的区域

  23. 23

    ReactJS“未处理的拒绝(类型错误):this.state.features.map 不是函数”

  24. 24

    可能的未处理的承诺拒绝(id:0):undefined不是对象

  25. 25

    jQuery FadeOut Complete有错误:fadeOut(...)。complete不是函数

  26. 26

    未处理的拒绝(TypeError):无法读取属性

  27. 27

    angular 2未处理的承诺拒绝TypeError

  28. 28

    Firebase函数中的onCall函数导致Firebase函数日志中出现未处理的拒绝错误

  29. 29

    Angular 2未处理的承诺拒绝:模板解析错误:“ app-main”不是已知元素:

热门标签

归档