我对此感到困惑,因为到目前为止我发现的每个教程都假设我可以编辑库代码,或者库只有回调或回调作为最后一个参数。
我正在使用的库的每个功能都设置为function(successCallBack(result), FailCallBack(error),options)
所以在每个实例中,我最终都会使用类似的代码
var options={stuff1:1, stuff2:2};
doStuff(success,failure,options);
function success(result){
//handle, usually with another call to a similar function, chaining callbacks together
};
function failure(error){
//handle error
};
当我只能控制通话以及成功和失败时,如何将这些转化为承诺?
此外,作为奖励,链可以访问它们外部的变量。
var options={stuff1:1, stuff2:2};
doStuff(success,failure,options);
function success(result){
var options2={stuff1:1, stuff2:2};
doStuff2(function(result2){
processStuff(result1, result2);
},function(error){
//handle error
},options2)
};
function failure(error){
//handle error
};
function processSuff(result1,result2){
//do things to results
}
Thanks