无法使用 Require.js 调用函数

2024-03-28

我尝试使用 require.js 为我的 node.js 服务器编写一个模块,它只返回我想从 url 获取的对象。但不知何故,我无法返回用我的方法获得的值。 http.get... 在我返回值后执行,所以我只是得到“未定义”,但为什么呢?

请你帮助我好吗?抱歉,如果这是一个愚蠢的问题,但我对 javascript node.js 和 require.js 真的很陌生。

define(['http'], function(http){
    console.log('Hi ich bin pullArchiveVolume');

    var response = 1;
    console.log('Log 1: ' + response);

    http.get("http:...", function(res) {
        var body = '';

        res.on('data', function(chunk) {
            body += chunk;
        });

        res.on('end', function() {

            console.log("Log 2: " + response);
            response = 2;
            console.log("Log 3: " + response);

            response = JSON.parse(body);
            return response;
            // console.log("Log 2 :", response);
            // console.log("Got response: ", response);
        });
    }).on('error', function(e) {
      console.log("Got error: " + e.message);
    });

    console.log("Log 4: " + response);
    return response;

})

控制台输出:

Hi ich bin pullArchiveVolume
Log 1: 1
log 4: 1
log 2: 1
log 3: 2

Thanks!


你不能有一个函数让异步调用只返回一些东西(除非它是一个promise https://stackoverflow.com/questions/4296505/understanding-promises-in-node-js).

您需要让您的函数采用回调参数:

function foo(callback) {
  doSomethingAsync(function(data) {
    // fire callback, which is a function that takes an argument 'data'
    callback(data)
  });
}

然后你可以像这样使用它:

foo(function(data) {
  doStuffWith(data);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Require.js 调用函数 的相关文章

  • 为具有可变内容的内联块元素提供相同的高度?

    我有 4 个宽度固定但内容可变的内联块元素 并且我希望所有这些元素具有相同的高度 最大元素的高度 请参见这个jsfiddle http jsfiddle net kKZXj 我应该如何实现这个目标 如果仅使用 css 无法做到这一点 那么使
  • 如何使用restify上传文件

    我正在尝试使用 Restify 模块将图像文件上传到 Rest 服务器 更具体地说是 Confluence 但出现断言错误 我不确定我是否使用正确的方法将文件上传到 REST 服务器 有人能指出我正确的方向吗 这是我的尝试 var rest
  • 这个特定的 ReactJs 代码是如何执行的初学者问题?

    我是初学者 正在阅读大量代码 现在我想知道下面的代码我明白这段代码在做什么 我需要澄清的是代码流程 当我运行它时 我看到图像正在加载 React 是从上到下执行代码吗 占位符图像异步获得正确的图像 但会App如果需要时间 组件会开始渲染但没
  • Jquery 动画与 CSS 浮动

    我的代码有问题 宽度似乎可以工作 但浮动没有 这里是 这是一个例子 http jsfiddle net v82ck http jsfiddle net v82ck 问题 悬停时菜单上的浮动属性不会改变 我希望每个菜单元素下方的线在悬停该菜单
  • angular.copy() 和 JSON.parse(JSON.stringify()) 之间的区别?

    有人可以解释 angular copy 和 JSON parse JSON stringify 之间的区别吗 有吗 您会推荐使用什么 angular fromJson angular toJson 与 JSON parse JSON str
  • Atom“自动完成”不起作用

    因此 当您安装 Atom 时 autocomplete 会随其一起提供 并且默认情况下处于启用状态 当我编写代码时 什么也没有显示 为什么 是否需要配置任何文件才能正常工作 In autocomplete plus settings pag
  • jquery/javascript 处理后移至命名锚点

    在进行一些 jquery 处理后 如何将焦点移动到同一页面上的不同部分 名为锚点 函数 ABC 进行一些处理 然后 我需要将用户移动到同一页面上的某个部分 页面下方 您可以使用下面的代码将屏幕滚动到 div 只需更改选择器以匹配您要滚动到的
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac
  • 使用 test() 通过正则表达式进行信用卡验证

    我正在尝试完成一些作业 看来这本书可能做错了 我有一个简单的 html 页面 允许用户在我们的例子中选择信用卡 美国运通卡 然后 用户输入一个数字并根据正则表达式评估该数字 我的问题最终是当 test 计算它返回的数字时是布尔值还是字符串
  • HTML if 语句在 CDN 失败时加载本地 JS/CSS

    当从 CDN 或任何外部服务器加载 CSS JS 文件时 有可能 即使概率很低 由于外部故障而丢失该文件 在这种情况下 html 页面将因缺乏适当的 CSS 和 JS 而被损坏 有没有一种实用的方法可以在 CDN 故障时加载本地版本 IF
  • 如何获取 svgElement 的比例?

    我正在研究 svg div style width 300 height 300 div
  • 反转二进制网络

    如何反转二元方程 以便找到哪些输入将产生给定的输出 Example Inputs i0 through i8 Outputs o0 through o8 Operators XOR AND 二元方程 1 i0 1 i1 0 i2 1 i3
  • 用于客户端存储和服务器端同步的javascript库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 javascript 库 它可以让我将数据存储在客户端数据库中 并在后台自动将数据库同
  • CKEditor TypeError:c[a] 在 CodeIgniter 中未定义

    我正在尝试在基于 codeigniter 的网站中安装 CKEditor 并且我已按照本教程进行操作 Codeigniter 教程中的 CKEditor http nukium com developpement php framework
  • 如何在变量名中使用变量

    所以我正在使用这样的 json 变量 opponentInvData item1 它包含项目 1 到 6 我需要动态访问不同的项目并将它们设置为空 itemNum 是我需要访问的特定项目 我正在尝试使用 eval 函数 var itemNu
  • 可选链接在 create-react-app 中不起作用

    In a create react app项目 我正在使用 babel plugin proposal optional chaining在我的 babelrc中 但是 我有这个错误 Module parse failed Unexpect
  • Safari 的 Javascript 与 document.write 的问题

    我的问题只发生在 Safari 上 IE FF Chrome 和 Opera 都可以完美运行 我正在向 DOM 添加一个对象 与 YouTube 的方式完全相同 具体取决于 ActiveX 或 NPAPI 因此在确定写入对象类型后 我通过以
  • 如何逐步绘制矢量路径? (拉斐尔.js)

    如何逐步动画化矢量路径 就像它被绘制一样 换句话说 慢慢地逐像素地显示路径 我在用着Rapha l js but如果您的答案不是特定于库的 例如可能有一些通用的编程模式可以完成此类事情 我对矢量动画相当陌生 欢迎 使用直线路径很容易做到 就
  • 禁用 Materialise Carousel 上的触摸

    看起来以前没有人问过这个问题 因为我几乎在互联网上寻找一个非常简单的答案 如何禁用在物化轮播上向左 向右滑动的功能 在 Materialize js 添加 编辑 var allowCarouselDrag true value functi
  • 截断段落前 100 个字符并隐藏段落的其余内容,以通过更多/更少链接显示/隐藏其余内容

    我有一个超过 500 个字符的段落 我只想获取最初的 100 个字符并隐藏其余部分 我还想在 100 个字符旁边插入 更多 链接 单击更多链接时 整个段落应显示并编辑文本 更多 到 更少 单击 更少 时 它应切换行为 段落是动态生成的 我无

随机推荐

  • 如何从独立存储中读取图像并将其显示在图像元素上?

    我需要从加载图像隔离存储 http msdn microsoft com en us library system io isolatedstorage 28v VS 95 29 aspx 并将其显示在图像 UIElement 上 我调查了
  • 在fabricJS中以相同的左原点缩放时保持相同的对象大小

    我见过这个帖子 https stackoverflow com questions 48578974 maintaining object size while zooming in fabric js并尝试仅使用 X 缩放来完成我自己的功
  • 如何使用 jquery 判断 gif 是否已完全动画化

    如果我有一个仅运行单个动画的 IE 动画 gif 它不循环 有没有办法使用 jquery 或任何与此相关的东西来告诉动画何时完成 我不想告诉文件是否已完全加载 但动画已经运行完毕 我认为没有办法从 JavaScript 中检测到它 我会选择
  • 如何解压 Pandas 中的一系列元组?

    有时 在使用 Pandas 时 我最终会得到一系列元组 列表 例如 当执行分组并传递具有多个返回值的函数时 这种情况很常见 import numpy as np from scipy import stats df pd DataFrame
  • ConstraintLayout 无法转换为 android.widget.TextView

    当我尝试启动活动时 不断收到运行时错误 发生错误的行 private OnItemClickListener mDeviceClickListener new OnItemClickListener public void onItemCl
  • 在 Java 应用程序中查找线程创建的来源

    我正在开发一个存在线程问题的 Java 应用程序 在使用带有 Netbeans 分析器的应用程序一段时间时 我可以看到创建了多个线程 他们中的大多数人都以某种方式完成 5 seconds 我只能找到应用程序中使用的 SwingWorkers
  • 如何在 Maven Shade 插件中设置清单类路径?

    我正在使用阴影插件 除了能够通过设置清单的类路径之外 一切正常
  • QMainWindow::splitDockWidget 的 QDockWidget 拉伸因子?

    我正在使用 QMainWindow 在 C 中手动布局 Qt 应用程序 我想要在屏幕底部有两个并排停靠的小部件 但我希望它们具有不成比例的宽度 目前 我只能让它们具有相同的宽度 有没有办法设置拉伸因子或其他机制来获得不均匀的码头分割 以下是
  • 显示所有数据库名称

    有没有办法使用主机地址和端口显示所有数据库名称 喜欢SELECT current database 显示当前连接的数据库 我需要显示所有数据库名称 提前致谢 有一个表显示所有数据库 SELECT FROM pg database
  • 使用express.js 处理猫鼬连接的正确方法是什么?

    我有一个非常简单的 server js 设置 我正在尝试运行 var express require express wines require routes testscripts var app express app get firs
  • 关于如何制作影响 Angular 中所有组件的主题机制的指南?

    问题 我需要有关如何在 Angular 中编写机制以在我的应用程序中全局设置组件的 外观和感觉 的指导 请注意 我正在努力学习 ngrx 平台 https github com ngrx platform我认为这将是一个有趣的设计约束 然而
  • 为什么 tabindex='-1' 阻止键盘

    经过几个小时的尝试找出键盘输入在引导模式中不起作用的原因后 我终于成功地找出了问题 这是我从未想到过的事情 但通过纯粹的消除过程发现了它 有了tabindex 1 存在于 div 对于引导程序中的模态 它完全停止键盘输入 我本以为数据属性d
  • 在 Laravel 5 中安装 Guzzle

    如何将 Guzzle 安装到 Laravel 5 中 我在我的项目中使用 laravel 但我需要像 guzzle 这样的库来让我在 laravel 中轻松使用curl 任何机构可以帮忙吗 打开终端 切换到你的 laravel 项目根目录并
  • 检索 DynamoDB 上以指定文本开头的列的所有项目

    我在 DynamoDB 中有一个表 Id int hash key Name string 还有很多列 但我省略了 通常 我只是根据项目的 ID 提取和更新项目 这个模式非常适合这种情况 然而 要求之一是有一个基于名称的自动完成下拉框 我希
  • ANTLR 4 - 树模式匹配

    我试图理解 ANTLR 4 中的解析树匹配 所以为此 我有以下java代码 package sampleCodes public class fruits public static void main String args int a
  • 如何检查正则表达式是否完全匹配字符串,即字符串不包含任何额外字符?

    我有两个问题 1 我有一个正则表达式 A Z a z 0 2 d 我正在使用Python的re finditer 匹配适当的字符串 我的问题是 我只想匹配不包含额外字符的字符串 否则我想引发异常 我想捕捉以下模式 大写字母 后跟 0 1 或
  • 如何从一个 Instagram 帐户获取关注者列表?

    我正在建立一个网站 我需要的只是一个 Instagram 帐户的关注者列表 我已经完成了使用 auth 2 0 验证我的网络应用程序的步骤 我刚刚意识到 通过此身份验证 我只能访问每个访问令牌所属帐户的关注者 有没有其他方法可以从我想要的帐
  • 如何在 ubuntu 12.04 中安装 python-matplotlib?

    当我尝试时 sudo apt get install python matplotlib 我收到以下错误 Reading package lists Done Building dependency tree Reading state i
  • `yield from foo()` 和 `for x in foo(): Yield x` 之间的区别

    在Python中 大多数yield from的例子都是这样解释的 yield from foo 类似于 for x in foo yield x 另一方面 它似乎并不完全相同 并且有一些魔法 我对使用一个执行我不理解的魔法的函数感到有点不安
  • 无法使用 Require.js 调用函数

    我尝试使用 require js 为我的 node js 服务器编写一个模块 它只返回我想从 url 获取的对象 但不知何故 我无法返回用我的方法获得的值 http get 在我返回值后执行 所以我只是得到 未定义 但为什么呢 请你帮助我好