如何使用Aync在nodejs中顺序处理相同类实例的方法"/>
如何使用Aync在nodejs中顺序处理相同类实例的方法
我拥有带有某些功能的类。
需要按顺序处理功能。我使用async进行了尝试,但是当函数通过我传递的类对象执行时,因为这是未定义的。
ASYNC系列代码:
const obj = new Class();
const steps = [
obj.test,
async.apply(obj.fun1, ""),
obj.fun2,
async.apply(obj.fun3, ""),
async.apply(obj.fun4, ""),
async.apply(obj.fun6, "",""),\
];
async.series(steps,
(err, result) => {
if (!result) {
return;
}
});
执行此操作时,从fun1那里出错
“无法读取未定义的属性'post'”
其原因是,在async.series之前启动的类在执行时未正确传递给内部函数。
有人可以帮助我解决此问题,例如如何在async.series中传递一系列类函数
回答如下:如果异步返回的方法(而不是使用回调),则可以使用await
对其进行排序。
async function someFunction()
const steps = [
obj.test.bind(obj),
obj.fun1.bind(obj, ""),
obj.fun2.bind(obj),
obj.fun3.bind(obj, ""),
obj.fun4.bind(obj, ""),
obj.fun6.bind(obj,"",""),
];
for (let fn of steps) {
await fn();
}
}
更多推荐
如何使用Aync在nodejs中顺序处理相同类实例的方法
发布评论