问题标签 [request-promise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
512 浏览

node.js - alexa-app 和 request-promise 的网络问题

我必须在这里遗漏一些非常简单的东西,但是这里有。

我刚刚开始学习 Alexa 开发,并发现了 alexa-app 模块,它似乎使 Alexa 编程非常简单——除了我遇到的这个网络问题。

我正在浏览名为 AirportInfo 的团队提供的示例应用程序。问题区域的代码如下:

依次调用这些函数:

这对我来说看起来不错,但是当代码运行时,控制何时将响应发送回设备的主要 Alexa 应用“请求”比预期的要早返回。不是带有所选机场预期天气信息的完整响应负载,而是在return rp(options)呼叫后立即发回响应。.then()第一个代码示例中的块中执行的代码技能已经将相当于空响应的内容发送回 Alexa 之后运行。这实际上使 Alexa 崩溃,因为她说出了某种关于技能错误的神秘信息。

这是我的 server.js 代码:

这是显示我正在描述的这种情况的调试日志:

注意相对于 的位置preRequest FiredpostRequest Fired显示success - received airport info for dfw。任何想法我做错了什么?在我的 Node 环境中配置错误,或者可能是错误的依赖版本?我很怀疑,因为它在我的调试器(VS Code)中从节点命令提示符和从 Lambda 中失败。

完整源代码链接:https ://github.com/bignerdranch/alexa-airportinfo

0 投票
2 回答
1949 浏览

node.js - request-promise 导致打开的套接字过多

我目前正在尝试编写一个函数,该函数接受用户输入并根据单词在训练数据中出现的次数返回用户评论可能属于的顶级 subreddit。我有一个数据库,其中包含不同 subreddit 中单词的频率,我正在为每个 subreddit 和用户输入中的每个单词发出 GET 请求。

这增加了许多获取请求,因为我的数据库中有超过 7000 个子版块。我目前正在发出请求承诺(浅)请求以获取所有 subreddits 的列表。然后,对于每个 subreddit,我循环遍历用户输入中的每个单词,创建另一个 request-promise 对象并将其添加到 promise 数组中。

添加所有请求承诺对象后,我会等到它们都使用 Promise.all 解决,然后尝试打印给定 subreddit 的词频数组,但我收到“错误:连接 EMFILE”消息.

根据关于堆栈溢出的另一篇文章,这意味着我打开了太多的套接字,但我对这是如何发生的感到困惑。根据我的理解,它不会一次只打开最多 user_words.length 可能的连接,因为这些是在 Promise.all 等待解决时正在完成的请求?我看不出连接是如何关闭的。

提前感谢您的帮助!

0 投票
1 回答
938 浏览

javascript - 如何向 Angular2 站点发出 HTTP 请求(用于抓取目的)?

我正在尝试使用节点服务器从 agular2 应用程序中抓取一些信息。问题是我得到的响应是 index.js 文件,本质上是页面的“正在加载...”部分。

我正在使用这样的 npm request 或 request-promise 包:

但我不知道是否可以等待页面实际加载。我已经研究过可能使用 Angular Universal,但我需要在数据全部加载后获取数据,并且网站所有者反对使用 Universal。

有没有办法使这项工作?

0 投票
5 回答
16908 浏览

javascript - 处理 Js 承诺拒绝

你如何处理超出承诺的错误(例如下面的“新错误”)?

0 投票
3 回答
3585 浏览

javascript - request-promise 返回未定义但存在

尝试通过 request-promise 发出请求,但无法正常工作。

请参阅下面的评论。

有人可以向我解释这个 PiA 吗?

提前致谢

0 投票
2 回答
88 浏览

javascript - 可以打印出一个对象,但不能在 JS 中访问它的值

我知道这将是一个非常愚蠢的问题,但我一直在努力解决这个问题。我从正在使用的 API 收到以下响应:

这是我试图运行的代码:

我想弄清楚为什么data会正确打印到控制台,但是一旦我尝试访问内部的任何值,我就会得到它的错误undefined。我也尝试过 JSON 中的其他值,因此非常感谢您的帮助!

编辑:我想澄清问题是什么,这与回调和异步调用无关,因为它们完美地工作。我的问题特别是var ingredients = data.nf_ingredient_statement.split(',');where nf_ingredient_statementis undefined 即使显然不是。

0 投票
1 回答
768 浏览

javascript - 如何使用 Node.js 进行异步 api 调用?

我的node.js有这个问题,我在启动我的应用程序时使用节点--trace-sync-io,当我使用request模块和request-promise模块对我的server.js文件进行api调用时,它仍然警告我正在使用 Sync API 并指向我的 request.promise 调用的开始。

所以当我用命令启动节点时,node --trace-sync-io server.js我得到了WARNING: Detected use of sync API堆栈跟踪

它指向我开始调用的行 rp(options.then(function(data)))

0 投票
1 回答
552 浏览

node.js - request-pormise - 使用端口向服务器发送错误的发布请求

我尝试使用promise-request并编写代码:

如果不使用端口选项,我会收到错误:

如果我添加端口选项错误消失但在官方文档中不要写你可以设置这个选项。它的工作原理很奇怪,因为我在uri中设置了端口。我有错误,我无法从服务器获取数据。我得到了唯一的错误:

我对http模块做了同样的请求,一切都很好,也许我需要使用另一个模块?

0 投票
1 回答
6552 浏览

node.js - 如何调试因 ETIMEDOUT 失败的 request-promise

我正在使用 NodeJS6 和 request-promise 运行 Debian 6。我正在使用 request-promise 来提供网络挂钩。目前,我们每天交付大约 2+M 个网络挂钩。

大多数时候一切都运行良好,但有些情况下 HTTP 请求根本没有传递。

这是我的简单代码:

有时端点根本没有收到任何东西。我试图运行 tshark 来查看是否有包通过 - 在任何服务器上都没有。

如果我在它发生时使用相同的参数运行 curl 命令,请求确实会通过。

如果我重新启动 NodeJS,它会再次开始正确交付。

这是错误输出:

该怎么办?

特别是当 curl 确实有效时,连接应该没问题。

0 投票
0 回答
532 浏览

javascript - 了解 HTTP 请求 --- 使用 rapidgator 进行身份验证 --- 它是如何工作的?

我对 http 请求及其在请求链接时的工作方式感到困惑。

所以我知道 GET 请求会向 ?username=ABC123&password=TTT 之类的 url 添加参数,而 POST 只是将数据发送到服务器,但这就是我在阅读教程时得到的全部。例如,我将如何发送请求并在身份验证后从 rapidgator 链接下载文件?(我是高级用户)。

链接到他们的 api 文档: https ://support.rapidgator.net/index.php?/Knowledgebase/Article/View/89/9/do-you-have-api

第一个响应返回一个像这样的响应对象,它给出了会话 id,这是我从中获取会话 id 的地方:

这是我的代码:

我是以错误的方式接近这个吗?如何继续从 rapidgator 下载链接?