请看看这个复制问题的小提琴。这个问题在方案3:JS范围Q承诺问题
function processMultistagePromiseBad(func1data, func2data) {
console.log("func1data:", func1data);
console.log("func2data:", func2data);
return work1(func1data)
.then(work2(func2data));
}
// scenario 3
processMultistagePromiseBad(data1, data2)
.then((results) => {
console.log(results);
return results;
})
.then((results) => scenario3.innerHTML += results + " <br />");
对于这两种方案3 & 4,我传递2个数据对象的js函数,即调用一个承诺链WORK1 & WORK2功能。 Work2在两种情况下运行,但情况3不能正确返回....为什么?
情况4,添加函数声明正在按预期工作......?
感谢, 添
嗨Sanjana,感谢您的建议和链接。我也在寻找为什么work2运行的解释,但是它的返回被忽略,而是返回work1。这里的任何想法?对于JS开发者来说,这是一个容易出错的漏洞,我想更多地理解它,这样我就不会犯这个错误。 – TimO
请参阅编辑。我希望这能帮助你。请仔细阅读文档,因为它帮助我理解了很多。 –