硬盘|web前端 - JavaScript 中一流函数的日常用例( 三 )


if (err) {
console.log('Error finding files: ' + err)
else {
files.forEach(function (filename fileIndex) {
console.log(filename)
gm(source + filename).size(function (err values) {
if (err) {
console.log('Error identifying file size: ' + err)
else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(function (width widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width height).write(dest + 'w' + width + '_' + filename function(err) {
if (err) console.log('Error writing file: ' + err)
)
.bind(this))

)
)

)
多个回调函数和 if/else 语句使代码难以理解 。 如果我们添加更多逻辑 , 它在未来可能变得不可维护 。 由于这个问题 , 引入了更新的功能 。 Promise 似乎可以帮助我们编写一个更简洁的程序 。 Async/await 关键字允许我们编写看起来像同步代码的异步代码 。
今天的爱创课堂小编就分享到这里了 , 有想学习前端 , 了解前端更多知识的同学 , 欢迎大家点赞、关注、私信我!!