首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在NodeJS中,如何将HTTP请求封装到Promises中?

在NodeJS中,如何将HTTP请求封装到Promises中?
EN

Stack Overflow用户
提问于 2017-11-02 01:49:51
回答 3查看 2.3K关注 0票数 0

NodeJS 6.9.3

我编写了一个简单的NodeJS应用程序,它发出如下所示的请求:

代码语言:javascript
复制
var http_request = require('request')


        http_request(
            { method: 'GET'
              , uri: 'https://search-xxxxxx.us-east-1.es.amazonaws.com/facts/_search?pretty=true'
              ,   'content-type': 'application/json'
              ,  body: es_regexp_query_as_string
            }
            , function (error, response, body) {
                if(
                    response.statusCode == 201
                        ||
                        response.statusCode == 200) {

它工作得很好。我在回调中做我需要做的任何事情。但是,现在我需要重新设计这个应用程序,这样它就可以处理任意数量的请求,而不是执行一个HTTP请求。据我所知,在NodeJS中处理这种情况的理想“设计模式”是将每个请求包装在一个Promise中,然后将所有Promise传递给一个调用:

代码语言:javascript
复制
Promise.all(something)

但我一直在读这篇文章,我找不到如何将HTTP请求转换为Promise。或者更确切地说,有一大堆相互矛盾的建议。显然,在过去的一两年里,"Promise“的概念在NodeJS中发生了很大的变化。

我试图简单地将整个代码块包装在一个Promise中,但这并不起作用。那我该怎么办呢?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47060839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档