【问题标题】:Return statment not working退货声明不起作用
【发布时间】:2013-07-13 21:05:33
【问题描述】:

下面的函数是我正在编写的 node.js 程序的一部分。

 var getDataFromUrl = function(url) {
    rest.get(url).on('complete',function(data) {
        if(data instanceof Error) {
            console.log("url error");
            process.exit(1);
        }else {return data}

        };
    });
};

这个函数下载一个网页并返回它的内容但是当我调用 它在程序中返回未定义。我该如何解决这个问题 顺便说一句,当它自己调用时它工作正常

【问题讨论】:

  • 您发布的代码中没有return 语句。
  • 没有return,也不应该有。无论您需要做什么,都可以通过您的 complete 回调来完成。
  • @thiago.lenz 很好,这意味着我既不瞎也不疯 :)
  • @Pointy 好吧,不是盲目的,而是疯子?我还没卖掉。
  • 是的,或者创建一个函数来处理数据,然后将来自else的数据传递给它。

标签: javascript node.js


【解决方案1】:

经过仔细研究,我意识到这个函数是一个异步操作,所以会 当函数函数在后台运行时,程序将继续执行。

为了解决这个问题,把所有需要处理数据的代码放在else中 声明

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-06
    • 2015-09-30
    • 2022-11-18
    • 2014-08-21
    • 2012-10-04
    • 2013-07-11
    • 2011-08-10
    • 1970-01-01
    相关资源
    最近更新 更多