gpt4 book ai didi

javascript - promise 良好实践

转载 作者:行者123 更新时间:2023-12-01 03:55:34 25 4
gpt4 key购买 nike

快速提问。

对于复杂的 Promise 函数,这样组织代码是否更好:

一个独特的函数,每个函数旁边都有可能的最小函数

var a = () => {
return new Promise((resolve, reject) => {
return promise1().then((result1) => {
return promise2(result1)
}).then((result2) => {
return promise3(result2)
}).then((result3) => {
return promise4(result3)
}).then((result4) => {
resolve(result4)
}).catch((error) => {
reject(error)
})
}

或者像这样

将一些复杂性封装到其他函数中,以获得更简单的高级函数。

var b = () => {
return new Promise((resolve, reject) => {
return promise12().then((result12) => {
return promise34(result12)
}).then((result4) => {
resolve(result4)
}).catch((error) => {
reject(error)
})
})
}

var promise12 = () => {
return new Promise ((resolve, reject) => {
return promise1().then((result1) => {
return promise2(result1)
}).then((result2) => {
resolve(result2)
}).catch((error) => {
reject(error)
})
})
}

var promise34 = (result2) => {
return new Promise ((resolve, reject) => {
return promise3().then((result3) => {
return promise4(result4)
}).then((result) => {
resolve(result4)
}).catch((error) => {
reject(error)
})
})
}

最佳答案

没有“最佳方式”来组织代码。您应该考虑将您的函数分成逻辑模块,以便它们的使用是“直观的”。

另外,你还没有提到generators (旁边带有 * 的函数),这是一个新的 javascript ES6 功能。将来这些生成器函数很可能将成为处理异步代码的“事实上”的方式,因为它们经过精心设计来处理异步代码。它们也易于阅读和测试。您可以观看此(当前)free course作者:Max Stoiber,了解有关它们的更多信息。本类(class)专门设计用于展示如何使用生成器函数编写异步代码。

关于javascript - promise 良好实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42723152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com