有A、B两个promise请求,希望B在A返回结果后才发起,但又不想将B写到A里面去,请问怎么写?
function resolveAfter2Seconds(x) {
return new Promise(resolve => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
async function add2(x) {
var a = await resolveAfter2Seconds(20);
var b = await resolveAfter2Seconds(30);
return x + a + b;
}
add2(10).then(v => {
console.log(v); // prints 60 after 4 seconds.
});
A().then(res => {
return B();
}).then(res => {
// 你说的不想写到里面,我理解为你指的是结果处理?
})
如果以上不满足,那就用 Generator 函数吧
function A() {
return new Promise((resolve) => {
// do something
//
resolve(123);
});
}
function B(result) {
console.log(result);
}
A().then(B); // 123
B写到A里去指的是什么,想了想只有callback方式才会那样吧?
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答873 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决