node.js请求模块,如何使用步骤将请求的URL主体传递给下一个函数

米特尔·马赫什瓦里(Mitul Maheshwari)

我想下载一个html页面并将其主体部分转发到下一个功能。我已使用步骤来序列化功能。我正在使用请求模块下载页面。

    var Step = require('step');
    var request = require('request');

    Step(
     function getHtml() {
    if (err) throw err;
    var url = "my url here";
    request(url, function (error, response, html) {
    // i want to pass the html object to the next function view
    }); 

    },
    function view(err, html) {
    if (err) throw err;
    console.log(html);
    }
    );

如果我这样做,request(url, this)则它将整个页面数据(响应和html)传递给下一个函数。

如何更改上述代码,仅将html传递给下一个函数?

胡安帕科

请记住从步骤文档:

它接受任意数量的函数作为参数,并使用在此上下文中传递的内容作为下一步的回调,以串行顺序运行它们。

因此,当每个步骤都被调用时,this就是您对下一步的回调。但是,您正在通过request呼叫输入回调,因此this到那时将有所变化。因此,我们只缓存它。

var Step = require('step');
var request = require('request');

Step(
  function getHtml() {
    //if (err) throw err; <----- this line was causing errors
    var url = "my url here"
      , that = this   // <----- storing reference to current this in closure
    request(url, function (error, response, html) {
      // i want to pass the html object to the next function view
      that(error,html)    // <----- magic sauce
    }); 

  },
  function view(err, html) {
    if (err) throw err;
    console.log(html);
  }
);

我的添加内容以“ <------”开头。祝您编码愉快!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js异步系列-将参数传递给下一个回调

来自分类Dev

在ZIP文件流传输期间,Node.js会阻止并且无法处理下一个请求

来自分类Dev

Node.js异步循环,下一个循环之前从函数进行回调

来自分类Dev

函数完成后,Node.js回调下一个循环

来自分类Dev

Node.js异步循环,下一个循环之前从函数进行回调

来自分类Dev

如何使用请求模块 -Node js 提取来自 url 的请求的域名

来自分类Dev

如何将Node.js请求路由到另一个Node.js应用程序?

来自分类Dev

如何将json传递给Node.js请求发布方法?

来自分类Dev

Node.js请求模块....在主体中发送JSON以使用api请求进行API请求

来自分类Dev

Node.js请求模块....在主体中发送JSON以使用api请求进行API请求

来自分类Dev

使用请求模块抓取Node.js

来自分类Dev

使用请求模块的Node.JS代理

来自分类Dev

如何在Node.js Lambda中使用请求模块

来自分类Dev

为什么我不能使用Node.js和Express将数据从POST发送到下一个呈现页面上的表单?

来自分类Dev

如何将POST请求主体映射到各个字段(NODE.JS)

来自分类Dev

Node.js如何处理一个线程的同时请求?

来自分类Dev

带有Express的Node.js-抛出错误与下一个错误

来自分类Dev

AWS步骤函数映射状态:将当前迭代的输出作为输入传递给下一个迭代

来自分类Dev

如何将参数从一个异步函数传递到Node.js中的另一个函数?

来自分类Dev

如何使用Node.js的“异步”模块在一个函数中执行“ A”或“ B”,然后始终执行“ C”?

来自分类Dev

使用node.js测试API如何处理无效的JSON语法请求主体

来自分类Dev

node.js非阻塞POST请求以等待另一个POST请求

来自分类Dev

如何传递一个函数作为 Node.js 中另一个函数的回调?

来自分类Dev

Node.js:一个AWS实例或每个请求一个

来自分类Dev

MongoDB + Node.js:每个请求一个集合还是一个静态集合?

来自分类Dev

在node.js中,如何从app.js中的另一个模块中的模块访问函数?

来自分类Dev

将响应数据从一个 http 请求传递到下一个

来自分类Dev

一个控制器中的多个请求URL映射处理程序在Node Express JS中不起作用

来自分类Dev

Node.js-带“请求”模块的PUT

Related 相关文章

  1. 1

    Node.js异步系列-将参数传递给下一个回调

  2. 2

    在ZIP文件流传输期间,Node.js会阻止并且无法处理下一个请求

  3. 3

    Node.js异步循环,下一个循环之前从函数进行回调

  4. 4

    函数完成后,Node.js回调下一个循环

  5. 5

    Node.js异步循环,下一个循环之前从函数进行回调

  6. 6

    如何使用请求模块 -Node js 提取来自 url 的请求的域名

  7. 7

    如何将Node.js请求路由到另一个Node.js应用程序?

  8. 8

    如何将json传递给Node.js请求发布方法?

  9. 9

    Node.js请求模块....在主体中发送JSON以使用api请求进行API请求

  10. 10

    Node.js请求模块....在主体中发送JSON以使用api请求进行API请求

  11. 11

    使用请求模块抓取Node.js

  12. 12

    使用请求模块的Node.JS代理

  13. 13

    如何在Node.js Lambda中使用请求模块

  14. 14

    为什么我不能使用Node.js和Express将数据从POST发送到下一个呈现页面上的表单?

  15. 15

    如何将POST请求主体映射到各个字段(NODE.JS)

  16. 16

    Node.js如何处理一个线程的同时请求?

  17. 17

    带有Express的Node.js-抛出错误与下一个错误

  18. 18

    AWS步骤函数映射状态:将当前迭代的输出作为输入传递给下一个迭代

  19. 19

    如何将参数从一个异步函数传递到Node.js中的另一个函数?

  20. 20

    如何使用Node.js的“异步”模块在一个函数中执行“ A”或“ B”,然后始终执行“ C”?

  21. 21

    使用node.js测试API如何处理无效的JSON语法请求主体

  22. 22

    node.js非阻塞POST请求以等待另一个POST请求

  23. 23

    如何传递一个函数作为 Node.js 中另一个函数的回调?

  24. 24

    Node.js:一个AWS实例或每个请求一个

  25. 25

    MongoDB + Node.js:每个请求一个集合还是一个静态集合?

  26. 26

    在node.js中,如何从app.js中的另一个模块中的模块访问函数?

  27. 27

    将响应数据从一个 http 请求传递到下一个

  28. 28

    一个控制器中的多个请求URL映射处理程序在Node Express JS中不起作用

  29. 29

    Node.js-带“请求”模块的PUT

热门标签

归档