Node.js 在 Slack 中映射返回引号和括号之间的结果 window
Node.js map returning result between quotes and brackets in Slack window
我正在构建一个 Slack 应用程序,它有一个斜杠命令,用于使用 pg-promise
模块显示来自数据库的数据,如下所示:
select: () =>
rep.map(sql.select, null, row => {
return 'User ' + row.username + ' is ' + row.status;
}),
像这样,返回一个行数组,但结果总是这样:
["User username1 is status1", "User username2 is status2", ...]
我需要它显示在列表中,没有这些引号和括号。
User username1 is status1
User username2 is status2
...
我试过 replace
使用正则表达式,但它不起作用。
我认为你的结果是一个 JavaScript 数组,因此你必须对其进行迭代才能按预期显示它。
您应该将 select()
结果分配给 var
,这样您就可以迭代 var
var results = select();
for(var i=0; i < results.length; i++) {
console.log(results[i]);
}
试试这个:
var results = select();
var resultText = select.join('\n');
// console.log(resultText);
现在 resultText
将是单个字符串,每条消息由换行符分隔。
如果您的目的只是为了显示结果字符串:
var os = require('os');
rep.map(sql.select, null, row => {
return 'User ' + row.username + ' is ' + row.status;
})
.then(data=> {
console.log(data.join(os.EOL));
});
Database.map resolves with a new array of returned values, the same as your regular Array.map
我正在构建一个 Slack 应用程序,它有一个斜杠命令,用于使用 pg-promise
模块显示来自数据库的数据,如下所示:
select: () =>
rep.map(sql.select, null, row => {
return 'User ' + row.username + ' is ' + row.status;
}),
像这样,返回一个行数组,但结果总是这样:
["User username1 is status1", "User username2 is status2", ...]
我需要它显示在列表中,没有这些引号和括号。
User username1 is status1
User username2 is status2
...
我试过 replace
使用正则表达式,但它不起作用。
我认为你的结果是一个 JavaScript 数组,因此你必须对其进行迭代才能按预期显示它。
您应该将 select()
结果分配给 var
,这样您就可以迭代 var
var results = select();
for(var i=0; i < results.length; i++) {
console.log(results[i]);
}
试试这个:
var results = select();
var resultText = select.join('\n');
// console.log(resultText);
现在 resultText
将是单个字符串,每条消息由换行符分隔。
如果您的目的只是为了显示结果字符串:
var os = require('os');
rep.map(sql.select, null, row => {
return 'User ' + row.username + ' is ' + row.status;
})
.then(data=> {
console.log(data.join(os.EOL));
});
Database.map resolves with a new array of returned values, the same as your regular Array.map