【问题标题】:How to get the return value of a callback function [API Request] [duplicate]如何获取回调函数的返回值 [API 请求] [重复]
【发布时间】:2017-07-19 07:44:53
【问题描述】:

我想做一个 API 请求并在我网站的表格中显示正文。我正在使用 Node.JS、React 和 Request。这是我的代码:

var requestResult = Request.get('https://test.ipdb.io/api/v1/assets/?search=asdf', (err, res, body) => {
  return body;
});

这显然行不通。我可以使用 console.log(body),但我希望 API 响应在回调函数之外可用。这可能吗?

【问题讨论】:

  • 回调并不意味着返回一个值。返回值更像是编写代码的同步方式。在回调中,需要设置一个值,然后调用下一个函数。

标签: javascript node.js callback request ecmascript-5


【解决方案1】:

如果您使用回调方法,那么您应该在回调函数中继续您的工作。
示例:

app.get('/', function(req, res, next) {
  Request.get('https://test.ipdb.io/api/v1/assets/?search=asdf', (err, res, body) => {
    console.log(body);
    // do any other job here
    res.send(body);
  });
});

您可以在 2017 年使用的其他方法:

  • promises
  • 协程 + 生成器
  • 异步 + 等待

您可以获取更多信息here

【讨论】:

  • 哇...我曾经做过几年 PHP,但这对我来说似乎太复杂了。还是谢谢你!
  • 花点时间了解一下。这是在 nodejs 中如何工作的基础知识。
猜你喜欢
  • 2020-01-17
  • 2013-03-28
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-06
  • 1970-01-01
相关资源
最近更新 更多