【发布时间】:2019-05-13 15:42:23
【问题描述】:
让这段代码正常工作,带有箭头功能:
f0(value)
.then(val1 => f1(val1))
.then(val2 => f2(val2))
.catch(error => result.textContent = error)
.then(() => final.textContent = "Done");
我正在尝试使用常规函数对其进行版本控制,如下所示:
f0(value)
.then(function(val1){ f1(val1) })
.then(function(val2){ f2(val2) })
.catch(function(error){ result.textContent = error })
.then(function(){ final.textContent = "Done" });
代码似乎忽略了任何被拒绝的 Promise,所以如果第一个 .then() 被拒绝,它会继续调用第二个,依此类推。
这不会发生在上面的 ES6 示例中。
我犯了一些语法错误吗?
【问题讨论】:
-
这是因为您在
then块下没有返回任何内容。.then(function(val1){ return f1(val1) }) -
谢谢你,安娜,发表你的回复,我会打勾
-
不客气。
标签: function ecmascript-6 promise