将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()来创建每个函数的副本。
或许我错过了更好的方法来实现这个目标?
感谢。