Javascript .then不是函数-承诺和.then在不同的文件中

Javascript .then不是函数-承诺和.then在不同的文件中,javascript,node.js,promise,nightwatch.js,Javascript,Node.js,Promise,Nightwatch.js,我正在使用nightwatch js,从不同的js文件调用.then方法时遇到问题 我有一个getCount.js文件 module.exports.command = function () { return new Promise((resolve,reject) => { var localSelector = 'div.flex.mt-4.v-card.v-sheet.theme--light > div > div > table

我正在使用nightwatch js,从不同的js文件调用.then方法时遇到问题

我有一个getCount.js文件

module.exports.command =  function () {

    return  new Promise((resolve,reject) => {
        var localSelector = 'div.flex.mt-4.v-card.v-sheet.theme--light > div > div > table > tbody';
        var rowSelector = localSelector + ' > tr';
        this.elements('css selector', rowSelector, function (result) {
            if (result.status) {
                console.log("Inside IF do promise " + result.value.length)
                reject(result.status);
            } else {
                console.log("Inside ELSE do promise " + result.value.length)
                resolve(result.value.length);
            }
        });
    });

};
这是我的home.js,我想在这里兑现我的承诺。然而,得到下面的错误

module.exports = {

    url: 'http://localhost:8080/',

    elements: {

        servicePageTitle :{
            selector : 'div.v-card__title > div > span:nth-child(2)'
        },
        tableBody :{
            selector : 'div.flex.mt-4.v-card.v-sheet.theme--light > div > div > table > tbody'
        }
    },

    commands: [{
        clickService(selector,serviceName){
            return this
            .searchTable(selector,serviceName)
        },

        testPromise(){
            this.getCount().then(function(v){
                console.log("Total is " + v)
            });
        }
    }]
};
电话::

const page = browser.page.home();
page.navigate().testPromise();
现在我的总数还没有确定。。 以下是输出:

Running:  Dashboards:firstTest

Inside ELSE do promise 10
Total is undefined
No assertions ran.

提前谢谢

this.getCount
从何而来?getCount是我作为getCount.js的一部分创建的自定义命令,其中
this.getCount
是在问题的代码中定义的(而不是一些随机的外部链接),基本上,自定义命令在nightwatch.js中的工作方式是使用文件名调用它们…。抱歉,我对nightwatch和javascript都是新手,这就是我粘贴链接的原因。问题出在您的问题中没有包含的代码中。在代码中使用这种方法是一种反模式,因为它依赖于这些函数的组装方式(您没有展示)。为了清晰和维护起见,通常不要使用
引用其他文件中的内容。