Javascript 何时使用多个then语句,而不是将代码块放入一个then语句中
我有一个异步返回数据的api调用,我有两个方法,在调用发生后执行一些操作,但它们自己不会创建新的承诺 做Javascript 何时使用多个then语句,而不是将代码块放入一个then语句中,javascript,Javascript,我有一个异步返回数据的api调用,我有两个方法,在调用发生后执行一些操作,但它们自己不会创建新的承诺 做 const foo=新承诺(…); 然后(()=>{ 控制台日志(“foo”); 控制台日志(“bar”) }) 提供福利超过 const foo=新承诺(…); 福 。然后(()=>console.log(“foo”)) 。然后(()=>console.log(“bar”)) ? 我得到,如果第一个thenable返回一个承诺,链接另一个then语句是有用的,但是当第一个thenabl
const foo=新承诺(…);
然后(()=>{
控制台日志(“foo”);
控制台日志(“bar”)
})
提供福利超过
const foo=新承诺(…);
福
。然后(()=>console.log(“foo”))
。然后(()=>console.log(“bar”))
?
我得到,如果第一个thenable返回一个承诺,链接另一个then语句是有用的,但是当第一个thenable不返回承诺时,链接then语句也是有益的吗
我假设对错误的更精细的控制可以是:
const foo=新承诺(…);
福
。然后(()=>抛出错误(“Whoopsie”))
.catch(e=>handle(e))
。然后(()=>抛出错误(“雏菊”))
.catch(e=>handle(e))
我得到,如果第一个thenable返回一个承诺,链接另一个then语句是有用的,但是当第一个thenable不返回承诺时,链接then语句也是有益的吗
你所说的回报承诺是什么意思?始终返回承诺,解析程序的结果调用当前值(模错误)
考虑这一点:
p = new Promise( r => r('foo'));
p.then((val) => {console.log(val); return val + 'bar'})
.then(console.log)
.then(console.log);
/* output:
foo
foobar
undefined
*/
r
,promise通过调用promise构造函数中的函数返回的值来“启动链”'foo'+'bar'
console.log
,它不返回任何内容(即返回undefined
)undefined
可以反复调用。无论是链接<代码>,还是<>代码>调用VS将你的整个函数放在一个大的回调中,这是一个更大的问题,你是否希望你的函数在计算过程中能够被“中断”或“不”。
我得到,如果第一个thenable返回一个承诺,链接另一个then语句是有用的,但是当第一个thenable不返回承诺时,链接then语句也是有益的吗
你所说的回报承诺是什么意思?始终返回承诺,解析程序的结果调用当前值(模错误)
考虑这一点:
p = new Promise( r => r('foo'));
p.then((val) => {console.log(val); return val + 'bar'})
.then(console.log)
.then(console.log);
/* output:
foo
foobar
undefined
*/
使用r
,promise通过调用promise构造函数中的函数返回的值来“启动链”
之后,对该值调用下一个回调,返回'foo'+'bar'
然后传入console.log
,它不返回任何内容(即返回undefined
)
最后,undefined
承诺总是会被返回,这就是为什么可以反复调用。是否连锁然后
调用,还是将整个函数放入一个大回调中,更重要的是您是否希望函数能够“中断”在计算过程中,我认为很多都取决于控制顺序是否对你很重要:“雏菊是一个奇怪的信息。”我认为这在很大程度上取决于对测序的控制对你来说是否重要:)Daisy Whoopsie总是一个奇怪的信息;)