我有以下函数来解析数组并仅返回特定项:
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 里面功能?我需要回电或承诺吗?
返回时功能是否正确完成?
答案 0 :(得分:0)
对我有用的简单解决方案:
var fetchResult = fetchLogs();