我创建了一个简单的管道函数,它接受一个对象作为参数。该对象返回到下一个函数。
需要在for of
循环内等待函数本身。我试图找到如何做到这一点的例子,并且已经阅读了多篇文章而没有成功。当我在管道async
前面添加function
时,我收到以下错误:
TypeError: pipeline(...) is not a function
以下是我的代码:
async function pipeline(...funcs) {... // Throws the error
function pipeline(...funcs) {
return function(val) {
let lastResult
for (let func of funcs) {
console.log(func)
lastResult = func(lastResult || val)
}
return lastResult
}
}
const pipe = pipeline(
function1,
function2,
function3
)(object)
答案 0 :(得分:3)
创建管道不能是异步,而是执行它:
function pipeline(...funcs) {
return async function(val) {
for (let func of funcs) {
console.log(func);
val = await func(val);
}
return val;
}
}