javascript - 一个js中 require另一个js文件,却不能调用方法?
ringa_lee
ringa_lee 2017-04-11 13:25:38
[JavaScript讨论组]

controller.js中 var serviceUtil = require("./service");
然后通过serviceUtil.someFun()是报错undefined;为什么?
直接打印serviceUtil,却可以打印出对象?

-----service.js-------------------------

var serviceUtil = {
    /*如果本地没有存储响应的数据调用这个方法,获取服务器数据*/
    getMonitorData: function(url, targetUl, pageData, whichTab) {

    },
    getData: function(url, pageData) {
    
    },

    getSearchData:function(){
        //...
    }
}

module.exports = serviceUtil;

-----------------controller.js---------------

var serviceUtil = require("./service");

var ctrlObj={
    someFun:function(){
          console.log(serviceUtil)//这里可以打印出service.js中定义的对象,并可以查看下面的方法
          console.log(serviceUtil.getData());//这里却不能调用方法,显示undefined
    }
}
ringa_lee
ringa_lee

ringa_lee

全部回复(3)
黄舟

getData是一个异步的操作吧?如果是一个异步操作,返回值肯定是undefined,可以写成Promise的方式。

黄舟

没看明白。哪里不能调用getData啦?明明调用成功了,只是你的函数返回是underfined
如果函数无法调用应该提示Uncaught TypeError: a.getData is not a function(…) 才对吧。

PHPz

返回值是undefined?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号