如何处理节点js的执行流程

时间:2012-03-01 12:29:13

标签: node.js

var total = 0;

setTimeout(function(){
    total = 5000;
},5000);
pa = (total*40)/100;
console.log("Pa :"+pa);

输出:

Pa : 0

如何获得适当的pa值。我觉得回调功能..... 但是不知道更多关于它请帮助我 [信息:我在上面的例子中使用了计时器,因为我想从另一个函数中检索一些值,它需要5秒才能返回。] 提前谢谢......

2 个答案:

答案 0 :(得分:0)

强烈建议您查看async模块以获取类似内容。我使用此编写了一些示例代码,并返回2000.

var async = require ('async');

var total = 0;

async.series([
    function(callback){
        // do some stuff ...
        setTimeout(function(){
            total = 5000;
            callback(null);
        },5000);

    },
    function(callback){
        pa = (total*40)/100;
        callback(null);
    },
],
//Now the other tasks are completed.
function(err, results){
    console.log("Pa :"+pa);
});

答案 1 :(得分:0)

正如您所提到的,您使用了回调

var total = 0

setTimeout(doLater, 5000)

function doLater() {
    total = 5000
    next()
}

function next() {
    pa = (total*40)/100;
    console.log("Pa :"+pa);
}