当前位置: 首页 > 知识库问答 >
问题:

从presenter方法中执行的函数返回json对象

冷宏茂
2023-03-14

我需要将json对象从匿名函数加载到变量实例。

本例中的实例未定义。

我敢肯定,解决方法很简单,但是新手在节点上找不到答案…:(

module.exports = {
    create: function(req,res){
        instance = EngineInstance.findById(req.body.engineInstanceId).exec(function(err,instance){
            if (err) return res.send(err,500);
            if (!instance) return res.send("No engine instance found!", 404);
            return instance;
        });
        namespamce = instance.namespace;...
    }
};

共有2个答案

南门向荣
2023-03-14

将MYSQL查询更改为一并查询多个内容,而不是隔离对accessPoint的查询,并添加了以下代码:

results[0].accessPoint = JSON.parse(results[0].accessPoint)
res.send(results[0]);

现在我拿回了这个,这正是我想要的:

"accessPoint": {
    "mode": "client",
    "rate": 0,
    "ssid": "RMG",
    "signal": 0,
    "channel": 0,
    "password": "",
    "username": "example@aol.com"
  }
凤伟泽
2023-03-14

对于异步代码的工作方式,您有一个非常常见和基本的误解。句号。去读教程,做有指导的练习。异步IO(如前面的findbyid)使用回调来调用带有结果变量的函数。它不使用返回值,因为由于异步代码执行的顺序,返回值是无用的。

module.exports = {
    create: function(req,res){
        instance = EngineInstance.findById(req.body.engineInstanceId).exec(function(err,instance){
            if (err) return res.send(err,500);
            if (!instance) return res.send("No engine instance found!", 404);
            //it is useless to return a value from this anonymous async callback
            //nothing will receive it. It will be ignored.
            //probably something like this is what you need
            req.namespamce = instance.namespace;
        });
        //do NOT put code here that needs req.namespace. This code runs BEFORE
        //the `findById` I/O callback runs.
    }
};
 类似资料:
  • 问题内容: 一旦Ajax通过PHP返回了HTML代码,我就试图加载一个javascript函数。这需要我在ajax响应中回显javascript。 换句话说,我试图在PHP Ajax响应中添加此代码(放置在脚本标签之间)。.希望它执行 从到目前为止的内容来看,浏览器已经完成了Javascript的读取,因此不会执行。有没有办法做到这一点.... ? 问题答案: 您必须像这样评估该代码 要么 如果您

  • 在以下代码中,设置状态后,setState方法的回调不会像预期的那样执行。如果你检查控制台,你会明白我的意思。console.log读取的状态不是更新的状态。它总是前一个(你可以通过点击读取数组按钮来检查这个),但是根据反应文档: setState()的第二个参数是一个可选的回调函数,它将在setState完成并重新呈现组件后执行。通常,我们建议对此类逻辑使用componentDidUpdate(

  • 问题内容: Flask返回响应后,我需要执行一些代码。我认为为它设置像Celery这样的任务队列不够复杂。关键要求是Flask必须在运行此功能之前将响应返回给客户端。它不能等待函数执行。 对此存在一些现有问题,但是在将响应发送到客户端之后,似乎没有一个答案能解决运行任务的问题,它们仍然同步执行,然后返回响应。 问题答案: 长话短说,Flask没有提供任何特殊功能来完成此任务。对于简单的一次性任务,

  • 问题内容: 我想创建一个函数,该函数返回符合协议的对象,但是协议使用。给出以下玩具示例: 并且已扩展为符合,并且每个方法都实现了返回不同类型的方法。 现在,我想创建一个返回符合协议的对象的类。我不在乎课程是什么,只是我可以发送消息。当我尝试以下操作时,会生成一个编译错误: 错误: 协议“ HasAwesomeness”只能用作一般约束,因为它具有“自我”或相关类型要求 可以想像,其目的是返回或基于

  • 我有一个在退出std::线程时执行回调函数的要求,该回调函数应该在主线程上执行。 在创建线程时,我需要分离线程,不能阻止线程完成的主循环执行。 我尝试使用std::signal,但它似乎没有在主线程上执行回调函数

  • 问题内容: 我在从Node.js中的回调函数返回值时遇到了小麻烦,我将尝试尽可能轻松地解释我的情况。考虑一下我有一个片段,它包含URL,并命中该URL,并提供输出: 我试图将其包装在函数中并返回如下值: 因为在我的Node.js代码中,我有很多语句将决定value的值,例如: 关键是a内的所有语句将保持相同,除了的值。因此,绝对需要将这些通用代码放入函数中。我尝试了同样的方法,但是in总是会回报我