Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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 Node.js和Knex.js Promise{<;pending>;}的简单输出_Javascript_Node.js_Knex.js - Fatal编程技术网

Javascript Node.js和Knex.js Promise{<;pending>;}的简单输出

Javascript Node.js和Knex.js Promise{<;pending>;}的简单输出,javascript,node.js,knex.js,Javascript,Node.js,Knex.js,我今天有个小问题。我还发现了类似的话题,不幸的是,这些话题对我没有帮助。 我想用Knex加载数据并进一步使用它。在第一个日志console.log(channel['name'])中,在then函数中,我得到了想要的名称,但在最后一个控制台日志console.log(channel)我只收到消息Promise{}。 使用Node.js和Knex.js以这种方式获取数据并进一步使用它的最简单方法是什么 let channel = knex("channels").where({

我今天有个小问题。我还发现了类似的话题,不幸的是,这些话题对我没有帮助。 我想用Knex加载数据并进一步使用它。在第一个日志
console.log(channel['name'])
中,在then函数中,我得到了想要的名称,但在最后一个控制台日志
console.log(channel)我只收到消息
Promise{}
。 使用Node.js和Knex.js以这种方式获取数据并进一步使用它的最简单方法是什么

let channel = knex("channels").where({
    twitch_id: twitchID
}).first().then(function (channel) {
    if (channel) {
        console.log(channel['name'])
        return channel;
    }
}).catch(function (error) {
    console.log(error);
});

console.log(channel);

这个软件包帮助解决了我的问题:

因此,从第一页开始,一切都不起作用@jonrsharpeYou必须将
控制台.log
调用移动到
中,然后
回调,这是没有办法的。你必须以这样或那样的方式等待异步结果,它不会立即可用。但是我需要稍后的数据。我如何等待异步@“以后”是什么意思?将以后应该运行的所有代码(当加载通道数据时)放在
then
回调中-这就是承诺的工作方式。例如:我将let`name=channel['name']')放在'then'函数中,因为脚本的其余部分需要名称,但脚本的其余部分总是“未定义”名称。