javascript 为@cameronbourke和@gwyneplaine撰写团队合作,为async await创建实用程序功能。这是一个有趣的讨论。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 为@cameronbourke和@gwyneplaine撰写团队合作,为async await创建实用程序功能。这是一个有趣的讨论。相关的知识,希望对你有一定的参考价值。
/*
* Requires Node 8+
* Works in chrome, simply copy and paste into console.
*/
const R = require('ramda');
const compose =
(...funcs) =>
(...args) =>
funcs.reduceRight(async (a, f) => {
if (Array.isArray(a)) {
return await f.apply(undefined, await a);
}
return await f(await a);
}, args)
const get = (v) => {
return Promise.resolve(`${v}s`);
}
const getAllError = compose(
get,
() => Promise.reject('Error! :('),
get,
get
);
const getAll = compose(
get,
get,
get,
get
);
const getAllR = R.composeP(
get,
get,
get,
get
)
async function main() {
try {
const v = await getAllError('ted');
console.log('result', v);
} catch (e) {
console.error(e);
}
try {
const v = await getAll('ted');
console.log('result', v);
} catch (e) {
console.error(e);
}
console.log(await get(await get(await get('ted'))));
console.log(await getAllR('ramda'))
}
main();
以上是关于javascript 为@cameronbourke和@gwyneplaine撰写团队合作,为async await创建实用程序功能。这是一个有趣的讨论。的主要内容,如果未能解决你的问题,请参考以下文章
javascript之一切皆为对象3
Javascript:将(十六进制)有符号整数转换为 javascript 值
javascript关于不能为空的问题
javascript 如何在Javascript中替换_为空格?
JavaScript 将PHP数组转换为Javascript数组
JavaScript 使用JavaScript将文本输入转换为选择