问题标签 [node-fetch]
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.
javascript - 如何定义一个将 Promise 返回到 Express Route 函数的函数?
我有一个名为“db_location”的业务级数据库模块,它使用该node-fetch
模块通过 REST API 从远程服务器获取一些数据。
我需要在 Route 函数中调用此函数,以便将数据库处理与控制器分开。
当我运行http://localhost:3000/locations时,我收到以下错误。
看起来 Promise 是空的,或者从一个response
对象到另一个对象的 Promise 链中有什么问题?解决这种情况的最佳实践是什么?
编辑 1
如果我将 getLocations 更改为返回 res1.json() (根据文档,我认为这是一个非空承诺node-fetch
):
并且路线代码更改为:
抛出了完全相同的错误。
javascript - 使用 node-fetch 将带有 GET 和 data-urlencode 选项的 cURL 命令转换为 javascript
我正在使用 node.js 和 express.js 开发一个 Web 应用程序。
这是我想使用该node-fetch
模块转换为 javascript 的工作 cURL 命令。
如何将 data-urlencode 参数放入以下代码段以完成 javascript 来完成这项工作?
javascript - 获取“在 ClientRequest 处挂断套接字。" 使用 node-fetch 调用 GET 请求时
我正在使用 node-fetch 模块和 javascript 来处理 API 请求。下面是我的代码(只是一个示例 GET 操作)
但我收到以下错误。请帮我解决这个问题。我已经安装了 node-fetch、https-proxy-agent 模块。
javascript - 节点获取连接 ETIMEDOUT 错误
我试图获得 200 个状态码作为响应,但结果是 ETIMEDOUT。我不明白,我怎么可能通过 postman 获得成功的响应,但总是通过node-fetch响应 ETIMEDOUT 。这是一个代码示例:
这是回应:
ERROR: { FetchError: request to https://example.com failed, reason: connect ETIMEDOUT
at ClientRequest.<anonymous> (C:\Users\projects\DSSRQ\node_modules\node-fetch\lib\index.js:1393:11)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at TLSSocket.socketErrorListener (_http_client.js:387:9)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
message: 'request to https://example.com failed, reason: connect ETIMEDOUT',
type: 'system',
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT' }
javascript - 在javascript中获取节点后无法从json中获取值
对于我的 API GET 操作,我使用节点获取,我的代码是
下面是我的两个控制台日志输出
为什么我在尝试获取第一个元素时变得未定义?有人请帮助我。
即使我尝试了以下
但我越来越喜欢
node.js - javascript中的HTML按钮单击和nodejs
我创建了 app.js 来启动服务器,该服务器也有调用前端 html 页面的代码。在 html 中,我添加了单击事件,它调用另一个 js 文件 ex。myAccountForm.js,在这个文件中我想使用 expressjs 来实现一些功能,如何实现?
javascript - 调用函数时出现“未处理的承诺拒绝”(无法读取未定义的属性“0”)
对于我的 API 测试,我的代码以不同的方式表现。我正在使用带有节点 js 的 jasmine 框架。
- 在我的第一个代码中,我使用了一个示例 API(REST GET 请求)
- 在我的第二个代码中,我正在使用我的应用程序 API(REST GET 请求)
1.我的测试用例中的代码是
我的第二个测试用例中的代码是
describe('BS_001_retrieveListDN 验证',()=>{
/li>
对于 1 和 2,我使用的常见 get 和 getR 函数如下
当我运行第一个测试用例时,我得到了成功,但是当我运行第二个测试用例时,我得到了以下错误
javascript - 出现超时错误(在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调)
对于我的 API 测试,我的代码以不同的方式表现。我使用带有节点 js 的 jasmine 框架。我的 GET 请求将给出 2 个响应
- 成功 json,带有 200 状态码。响应时间为 400-500 毫秒
- 失败json,带200个状态码(有效失败),响应时间大于10000ms
在第一种情况下,我的测试用例的代码如下
我的第二种情况的代码与上面的相同。但是在我的第一种情况下,我得到了通过的规范,在第二种情况下,我得到了以下失败
我的成功响应将花费近 400 毫秒,但我的失败响应将花费近 10000 毫秒。所以我猜测并添加了茉莉花超时如下(见上面的块)
但现在我有2个错误..
我不知道如何解决这个问题。请有人帮助我。我调用的函数 getR 如下
我认为这个问题是因为响应时间长。但不知道如何解决这个问题。请指教。
node.js - node-fetch 返回未定义的值
我正在尝试使用 node-fetch 编写有关 GTFS 的代码。当我使用 promise 时,它可以返回值,但是当我尝试将它们添加到数组中以进行信息过滤时。系统返回未定义的值。这种情况我该怎么办?
以下是返回值: