Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用Javascript对象时返回空_Javascript_Node.js_Faunadb - Fatal编程技术网

调用Javascript对象时返回空

调用Javascript对象时返回空,javascript,node.js,faunadb,Javascript,Node.js,Faunadb,我的一段代码 const channels = fauna.paginate(q.Match(q.Index("channels"), "true")) // Query FaunaDB database for channel list => create constant called users containing results const channelList = channels.each(function (page) { //

我的一段代码

const channels = fauna.paginate(q.Match(q.Index("channels"), "true")) // Query FaunaDB database for channel list => create constant called users containing results
const channelList = channels.each(function (page) {
  // Logs the page's contents,
  // for example: [ Ref(Collection("test"), "1234"), ... ]
  console.log(page);
});
工作正常,表现正常。然而,当我试图从代码中的其他地方调用“channelList”时,它返回{} 第一段代码中的console.log也会返回它应该返回的内容,因此我认为第一段代码没有任何问题

下面是一段代码,我试图调用这个对象

  let options = {
    options: {
      debug: config.twitchConfig.options.debug
    },
    connection: {
      reconnect: config.twitchConfig.options.reconnect,
      secure: config.twitchConfig.options.secure
    },
    identity: {
      username: config.twitchConfig.connection.username,
      password: config.twitchConfig.connection.password
    },
    channels: [JSON.stringify(channelList)] // Attempt to call here, Returns {} (Empty object)
  };
有什么我遗漏的吗?一开始这可能吗?如果不可能的话,我还能用什么方法来达到同样的效果


编辑:据我所知,channelList是基于页面响应的,页面响应似乎是该函数的私有响应,不能在函数之外引用。如何使其在函数外部可引用,或创建可在包含相同信息的函数外部访问的常量/变量?channelList不是函数,更像是打印通道的函数的结果。。因此,在打印分配给它的内容后,就是结果。。 尝试将其假定为函数,然后调用它:

const channelList = ()=>{
 channels.each(function (page) {
  // Logs the page's contents,
  // for example: [ Ref(Collection("test"), "1234"), ... ]
  console.log(page);
});
};

channelList();

假设代码本身做了您希望它做的事情,这应该可以完成工作

经过多次尝试和错误后,我的回答比我或我与之交谈过的任何人想象的要简单得多

如果您遇到与我相同的问题,这里有一个关于如何自己解决问题的分步指南

  • 使用变量而不是常量
  • 在设置变量之前,通过放置
    var channelList声明变量设置它的代码上方的某个位置
  • 使用简单的
    channelList=page设置先前声明的变量
  • console.log(channelList)只是为了确保它能正常工作
  • 最后,在需要的地方调用变量,瞧!您已经正确调用了变量,它不会返回{}或未定义或[Object]

  • 。每个
    ?你是说forEach
    吗?如果是,请注意它返回未定义。或者,
    每个
    都是一个库方法?@evolutionxbox使用forEach时,它只返回“channels.forEach不是函数”,这就是为什么它没有在那里使用。第一个代码片段中的方式似乎很好,所以我猜它是faunadb Library的一部分。一个控制台日志返回未定义的结果,所以可以尝试将返回的内容放入
    每个
    方法?@evolutionxbox抱歉,我大多数时候都很笨。你所说的返回的东西是什么意思?还有console.log(第页);也就是说,第一个代码段返回['#sniperbotontwitch'],这是它应该返回的,但是当在通道外部调用相同的常量时,它返回{}或[object object],而且,我已经更新了包含我对问题可能是什么的评估的帖子
    通道的类型是什么?
    channels[Symbol.iterator]
    返回什么?这让我更接近一个答案,谢谢!但是,现在当进一步调用该常量时,它的内容是()=>{channels.each(function(page){//记录页面的内容,//例如:[Ref(Collection(“test”),“1234”),…]console.log(page);};}而不是一个简单的['DATA'],您希望第二次发生什么?您正在创建函数的字符串。。如果要打印通道值,请调用函数outside options。。给频道设置频道是的,我正在打印页面的值。你的回答让我更接近我想要的答案。谢谢你,我会继续玩不同的东西,希望我能得到我想要的