最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何使用Aync在nodejs中顺序处理相同类实例的方法

网站源码admin16浏览0评论

如何使用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();
    }
}
发布评论

评论列表(0)

  1. 暂无评论