承诺中的约束参数

时间:2016-04-10 11:46:39

标签: javascript node.js promise q

将Q库与node.js一起使用,

我想为每个请求创建一个包含5-6步的简单流程,并且我试图在两个选项之间决定将请求ID传递给流程的每个步骤。

function(){

   var reqId = generateId();

   // opt a
   firstStep(reqId)
   .then(secondStep);

}

function firstStep(reqId){

    var resultOfFirstStep = doSomething();

    promise.resolve({

       reqId: reqId,
       result: resultOfFirstStep

    }); 

}

function secondStep(data){

    var reqId = data.reqId
    ...

}

// opt b

 function(){

   var reqId = generateId();

   firstStep(reqId)
   .then(secondStep.bind(this,reqId));

 }

function firstStep(reqId){

    var resultOfFirstStep = doSomething();

    promise.resolve(result); 

}

function secondStep(reqId,result){

    ...

}

第一个选项看起来并不优雅,而我不确定是否建议使用bind()来创建每个函数的副本。

或许我错过了更好的方法来实现这个目标?

感谢。

0 个答案:

没有答案