繁体   English   中英

在函数调用期间将变量保存到全局变量

[英]Save variable to global var during function call

我具有以下函数来解析数组并仅返回特定项目:

function fetchLogs(logs) {
    var arr = logs.value;
    var res = arr.reduce((a, b) => {
        if (b.level === 'INFO') {
            a.push(b.message.split(" ").pop().replace(/"/g, ""))
        }
        return a;
    }, []);
    console.log("function", res);
    return res; // Is this return right?
}

该功能的用途是获取返回的浏览器日志(浏览器A和浏览器B),并检查日志是否匹配。

所以我的测试看起来像这样

it('should return logs from browser B', function(done) {
    browserB
      .log('browser')
      .then(function(logs) {
        fetchLogs(logs);
        done();
      })
    .catch(function(e) {
      done(e);
    })
});

最后,我想比较那些数组

it('should compare browser logs', function() {
    expect(logsA).to.have.all.members(logsB);
});

问题在这里:

当我调用fetchLogs(logs)函数时,如何将函数中的res变量保存到先前声明的全局变量logsB中 我需要在这里回调或Promise吗?

返回功能是否也正确完成?

对我有用的简单解决方案:

var fetchResult = fetchLogs();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM