【发布时间】:2020-01-23 18:11:33
【问题描述】:
我的代码行为怪异。这是一个 sn-p 及其输出:
let files = //files is an array
Promise.each(files, file => {
return epub.file(file.name).async('string').then(content => {
let mmls = //mmls is an array
Promise.each(mmls, mml => {
return mj.typeset({math: mml, format: 'MathML', svg: true}).then(mjdata => {
// do something
})
}).then(() => {
console.log(0)
})
})
}).then(() => {
console.log(1)
})
它会登录控制台:
0
0
0
0
0
0
0
1
0 // one '0' after '1'
如果已经记录了“1”,我发现最后一个“0”是如何记录的,这很奇怪?
仅供参考:我正在使用蓝鸟。
【问题讨论】:
-
你可能需要在内部回调中
return Promise.each(...),否则它可能无法链接它。 -
@sp00m 哇,解决了。您介意通过返回
Promise.each(...)来解释它是如何解决的吗
标签: javascript node.js asynchronous promise