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将文本输入转换为选择