我有这个代码从JSON获取值,解析成文本,并希望将文本返回到我的聊天机器人。
Here are the lists of the boards, followed by the slug
但是,记录和返回的所有文本都是Request()
,并且不包含已解析的JSON。
如果JSON解析出错,NPM应该停止,但是,它没有。
我是NodeJS的新手。这是关于一个叫async的东西,它使命令不能按顺序执行吗?
使用的{{1}}函数是从https://github.com/request/request获得的。
答案 0 :(得分:0)
由于NodeJs的行为是Async,因此Request
是一个承诺,因此只要执行Request行,执行就会到达下一行。它不会等待Request的回调函数被执行。您可能需要重写以下代码才能使其正常工作。
rooms: function(){
var board, text = "Here are the lists of boards, followed by the slug:\n\n";
Request('https://[redacted]/api/1.0/boards/', function (error, response, body) {
board = JSON.parse(JSON.minify(body));
for(var i=0; i<board.length; i++){
text += board[i].title + ": `" + board[i].slug + "`\n";
}
text += "\n Shows the list of topics in specific board with `!fbot view [slug]`";
console.log(text);
return text;
});
}
这可能会有所帮助