我已经将我的代码重组为承诺,并构建了一个由多个回调组成的精彩长扁平承诺链.then().最后我想返回一些复合值,并且需要访问多个中间承诺结果.但是,序列中间的分辨率值不在最后一个回调的范围内,我该如何访问它们?
function getExample() {
return promiseA(…).then(function(resultA) {
// Some processing
return promiseB(…);
}).then(function(resultB) {
// More processing
return // How do I gain access to resultA here?
});
}
Run Code Online (Sandbox Code Playgroud) 我有一个函数callWithMagic,它将一个回调函数作为参数,并用一个参数调用它.
const callWithMagic = callback => {
const magic = getMagic();
callback(magic);
};
Run Code Online (Sandbox Code Playgroud)
我还有一个函数processMagic,它有两个参数:magic和theAnswer.
const processMagic = (magic, theAnswer) => {
someOtherMagic();
};
Run Code Online (Sandbox Code Playgroud)
我想将函数processMagic作为参数传递给callWithMagic,但我也希望42将第二个参数传递theAnswer给processMagic.我怎样才能做到这一点?
callWithMagic(<what should I put here?>);
Run Code Online (Sandbox Code Playgroud) javascript ×2
bluebird ×1
callback ×1
es6-promise ×1
function ×1
parameters ×1
promise ×1
scope ×1