在函数/类之间传递参数

时间:2018-12-14 04:50:11

标签: javascript

main.js类中:

function readImage() {
    if (window.File && window.FileList && window.FileReader) {
        var files = event.target.files; //FileList object

        for (let i = 0; i < files.length; i++) {
            var file = files[i];
            if (!file.type.match('image')) continue;

        //* * * call function in storage class 
        uploadPhoto(file); 

然后我启动了一个简单的新js文件,将上传功能移入其中。

storage.js

    function uploadPhoto(file)
    {


           // create ref for fireStorage etc
            var storageRef = firebase.storage().ref();

// ...more code using firebase with error every time i use it

错误:

  1. 在类storage中:uploadPhoto is defined but never used

  2. 每次我使用firebase时都会出现
  3. p错误:not defined,如果我在firebase类中使用main.js的话,它确实有效-没有错误(为什么不进入storage.js?)

在我的html中都定义了:

 //firebase is defined here...
 <script src="javascripts/main.js"></script>
 <script src="javascripts/storage.js"></script>

我是否需要在storage.js中导入内容以使其识别世界其他地方?

1 个答案:

答案 0 :(得分:1)

为防止在评论中进行更多讨论,我将仔细阅读所有内容,然后向您解释其含义。

  1. 您描述的第一个错误是uploadPhoto is defined but never used。这意味着您在定义uploadPhoto的地方 永远不会被叫-很好,因为你是 在main.js中调用它。您可以忽略此错误。
  

如果没有其他提示,您应该无法得到这样的错误   工具,例如Linter,可以在代码运行之前对其进行检查。工具类   就像那些极有可能在您的编辑器中向您发出这些警告,   而不是在浏览器中。

  1. 您提到的第二个错误是您可以在firebase文件中使用main.js,但不能在另一个文件中使用。事实并非如此,这很可能是基于当您尝试在firebase中使用storage.js尚不可用的事实,即它仍在加载。要解决此问题,请澄清在storage.js中调用函数的时间以及程序流的执行方式。
相关问题