如何在NodeJS中使用承诺链接Postgres查询和GET请求
How to chain Postgres query and then GET requests in NodeJS using promises
在我的NodeJS应用程序中,我需要对Postgres进行查询,然后我需要对PG结果中的每一行进行GET请求。并以数组形式返回所有GET结果。
我的代码有什么问题?
var promise = require('bluebird');
var pgp = require('pg-promise')({ promiseLib: promise });
var db = pgp(connectionString);
var rp = require('request-promise');
var query = 'select id from my_table';
var processIDs = pgResults => {
var requests = pgResults.map( row => rp(`mysite.com/${row.id}`) );
return promise.all(requests);
}
db.any(query)
.then(processIDs)
.then( results => console.log(results) );
第二个问题,如何在最终结果数组中包含PG查询的id ?
在最终结果中包含PG查询id的一种方法是在processIDs
调用中有另一个承诺,如:
var processIDs = (result) => {
var ids = result.map(row => row.id);
var requests = ids.map(id => request(`mysite.com/${id}`));
return promise.all(requests)
.then(results => {
// not sure how u want to include `ids` in results, but its available in this scope
// just think that it's weird, cuz `results` is supposed to be
// an array of HTTP responses, right?
return results; // results.concat(ids) || results.push(ids)
});
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 单击页面上的链接后高度发生变化
- 将纯文本URL转换为可单击链接
- python-selenium-点击上升链接
- 一点javascript元编程&可链接的设置器
- ng视图外的链接重定向到ng视图内的页面
- 如何调用“;链接_;在onclick事件上使用Javascript
- 链接所有<a>Meteor
- 如何在Angular中的表的所有单元格中添加链接
- 通过链接重定向不;我不在jstree中工作
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 如何在NodeJS中使用承诺链接Postgres查询和GET请求