Node.js如何使用函数的回调结果

Jeremie4zw

我正在通过编写用于管理飞利浦色调灯的应用程序来学习nodejs,但是nodejs的工作方式存在问题。

我有一个应该获取所有灯光ID的函数:

id = [];

function getLightsId() {
    args = {
        path: {
            "username": "myusername"
        }
    };

    client.registerMethod("getLightState", "http://192.168.0.10/api/${username}/lights/", "GET");

    client.methods.getLightState(args, function (data, response) {
        for (key in data) {
            id.push(key);
        }
    });
}

问题是,每当我要使用id数组时,它都是空的,因为nodejs并未处理getLightsId回调函数。

ps:我正在使用node-rest-client与我的API进行交互。

tyme合资公司

好了,它处理了您的回调,只是该函数是异步的这意味着当您稍后尝试使用该id变量时,它仍在上面的回调中进行处理。您需要传递另一个回调并将id变量填充后传递给该回调

function getLightsId(callback){
    args ={
        path:{"username":"myusername"}
    };

    client.registerMethod("getLightState", "http://192.168.0.10/api/${username}/lights/", "GET");

    client.methods.getLightState(args, function(data,response){
        var id = [];
        for(key in data){
            id.push(key);
        }
        callback(id);
    });
}

您会这​​样称呼:

getLightsId(function(idArray) {
    console.log(idArray); //here they are
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在回调函数Node JS中打破for循环

来自分类Dev

我们如何从node.js中的回调函数访问变量?

来自分类Dev

node.js回调函数dynamodb

来自分类Dev

在Node.js中,如何使用node-seq嵌套嵌套回调

来自分类Dev

从Node.Js中的一系列回调函数返回结果

来自分类Dev

用户定义的回调函数在node.js中使用线程池吗?

来自分类Dev

如何在Node.js中将函数/回调传递给子进程?

来自分类Dev

使用生成器函数next()作为node.js中的回调

来自分类Dev

来自node.js的回调函数

来自分类Dev

如何返回Node.js回调

来自分类Dev

在Node.js中制作异步回调函数

来自分类Dev

Node.js如何在回调函数之外访问tcp套接字

来自分类Dev

使用Node.js和回调函数的代码是否与Java线程相同?

来自分类Dev

如何获取Node.js回调结果

来自分类Dev

如何在回调函数Node JS中打破for循环

来自分类Dev

如何将其他参数传递给node.js中的封装回调函数

来自分类Dev

如何在Node.js中将变量传递给预定义的回调函数

来自分类Dev

回调函数问题Node.js

来自分类Dev

从Node.Js中的一系列回调函数返回结果

来自分类Dev

如何使用Node.js在外部范围内定义回调函数?

来自分类Dev

Node.js中的回调函数没有结果

来自分类Dev

Node.js:如何从其回调中再次调用函数

来自分类Dev

Node.js-在回调函数中使用数据

来自分类Dev

如何在node.js中执行回调函数?

来自分类Dev

如何将node.js回调定向到非匿名函数

来自分类Dev

Node.JS函数返回异步回调函数的值

来自分类Dev

使用Node.js和回调函数的代码是否与Java线程相同?

来自分类Dev

如何创建Node JS构造函数以初始化回调函数

来自分类Dev

如何从 Node.Js 中的回调函数返回数据

Related 相关文章

热门标签

归档