nodejs要求文件的功能不在一个地方

时间:2018-05-04 15:35:55

标签: javascript node.js parse-platform

我遇到了一些奇怪的问题,我做了几十次这样的操作,但由于某种原因,其中一个文件中的其他文件返回为空,无法访问这些函数。

这是导出文件,文件名是"user-repo.js"

const constants = require('./constants');
const parseRepo = require('./parse-repo');

    const updateEmail = (userID, email) => {
      return new Promise((resolve, reject) => {
        parseRepo.getUser(userID).then((user) => {
          if(user != undefined){
            user.set(constants.EMAIL_KEY, email);
            return parseRepo.saveObject(user);
          }
        }).then((user) => {
          resolve(user);
        }).catch((e) => reject(e));
      })
    };


    module.exports = {
      updateEmail
    }

并在另一个我想使用此功能的文件中updateEmail)我喜欢这样:

const userRepo = require('./user-repo');
function(){
.....
 userRepo.updateEmail(userID,email);
}

并抛出错误 updateEmail is not a function,我调试了这个并看到所需的对象(userRepo)是空的并且没有任何功能,事情就是那之前的第二个在其他文件中我做同样的事情,userRepo工作正常,并具有所有功能。 所有这些文件都在同一个文件夹中 任何想法?

1 个答案:

答案 0 :(得分:0)

问题是'周期需要',感谢@ T.J Crowder对此问题的观点,并且正如他所说的那样有问题的人请阅读文档here