龙空技术网

碎片时间学编程「76]:为异步函数执行从左到右的函数组合

路条编程 25

前言:

当前我们对“js异步函数执行完再执行另一个函数”可能比较看重,大家都需要学习一些“js异步函数执行完再执行另一个函数”的相关知识。那么小编也在网摘上汇集了一些关于“js异步函数执行完再执行另一个函数””的相关资讯,希望小伙伴们能喜欢,姐妹们一起来学习一下吧!

为异步函数执行从左到右的函数组合

使用Array.prototype.reduce()和展开运算符 ( ...) 来执行使用Promise.prototype.then().这些函数可以返回正常值Promises 或 async 的组合,通过 . 返回await所有函数都必须接受一个参数。

JavaScript

const pipeAsyncFunctions = (...fns) =>  arg => fns.reduce((p, f) => p.then(f), Promise.resolve(arg));

示例代码

const sum = pipeAsyncFunctions(  x => x + 1,  x => new Promise(resolve => setTimeout(() => resolve(x + 2), 1000)),  x => x + 3,  async x => (await x) + 4);(async() => {  console.log(await sum(5)); // 15 (after one second)})();

更多内容请访问我的网站:

标签: #js异步函数执行完再执行另一个函数