3

我有一段我的剧本!(1.2.4) 应用程序从 CSV 文件加载数据,这工作正常,但需要一段时间,我一直在尝试通过 Promise 机制将其移植到 Job 中。问题是,似乎没有办法传递输入参数(CSV 文件和文件类型的字符串),因为 doJobWithResult 是对无参数方法的覆盖。

工作看起来像:-

public class ImportCSV extends Job<string> {
public String doJobWithResult()
{
    do stuff...
    return my_string;

}

并被称为:-

Promise<String> recordcount = new ImportCSV().now();
String records = await(recordcount);

我尝试在接受这些参数的 Job 类中创建一个构造函数,但是当通过 now() 方法调用它时它不会触发。

关于如何传递实际异步执行工作所需的数据的任何建议?

4

1 回答 1

4

你应该:

  1. 在您的 ImportCSV 类中创建private fields以保存作业所需的参数
  2. 在您的 Job 类构造函数 ( this.param1 = param1)中初始化这些字段
  3. 调用new ImportCSV(param1, param2)以初始化您的对象
  4. 使用 doJobWithResult() 方法访问私有字段this.param1

Promise 的创建是好的,你会得到:

Promise<String> recordcount = new ImportCSV(param1, param2).now();
String records = await(recordcount);

如果您的 Job 类的构造函数有问题,请更新您的问题并添加一些代码。

于 2012-07-25T10:09:23.893 回答