我有一个名为offer.js的文件,它可以执行此操作(它可以很好地输出数据);

function rsOffersAll() {
    global.MSSQL_MYDB.connect().then(function(error, result) {
        global.MSSQL_MYDB.request(global.MSSQL_MYDB).query('SELECT Top(10) * FROM [Broadcast].[Offer]').then(function (result) {
            console.dir(result);
            return result;
        });
    });
}

module.exports.rsOffersAll = rsOffersAll();


在我的路由器文件中,我有这个:

const Offer = require('../models/offer');
Offer.rsOffersAll();


如果我运行上面的命令,则会出现此错误:

Offer.rsOffersAll();
      ^

TypeError: Offer.rsOffersAll is not a function


为什么不是功能?以及如何执行该功能,以便可以将数据保存到另一个文件中?

最佳答案

rsOffersAll()评估为调用rsOffersAll函数时获得的返回值。

该函数没有return语句,因此它返回undefined

undefined不是函数。

如果要导出该函数,请不要在尝试从中导出的行上调用它。

module.exports.rsOffersAll = rsOffersAll;

关于javascript - 为什么这不是功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58900503/

10-10 14:43