当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS Geoprocessor.waitForJobCompletion用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/tasks/Geoprocessor"], (Geoprocessor) => { /* code goes here */ });

ESM: import Geoprocessor from "@arcgis/core/tasks/Geoprocessor";

类: esri/tasks/Geoprocessor

继承: Geoprocessor > Task > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

Geoprocessor.waitForJobCompletion函数(或属性)的定义如下:

waitForJobCompletion (jobId, options) {Promise<JobInfo>}


自从:ArcGIS 适用于 JavaScript 4.13 的 API

在异步作业完成时解析。可以选择监控作业进度。

参数:

规格:
类型说明
jobId String

JobInfo 返回的 jobId。

options Object
可选的

选项。有关对象规格,请参阅下面的属性。

规格:
interval

Object

可选的
默认值: 1000

远程作业状态请求之间的时间(以毫秒为单位)。

signal

Object

可选的

AbortSignal 允许可取消的异步作业。如果取消,promise 将被拒绝,并出现名为 AbortError 的错误。

statusCallback

Object

可选的

以指定间隔调用的回调函数。使用此方法监控作业状态和消息。

返回:

类型 说明
Promise<JobInfo> 解析后,返回 JobInfo

例子:

// Submit an asynchronous geoprocessing job. Display the remote job status every 1.5 seconds.
// When the job has completed at the output as a MapImageLayer.
let startDate = "1998-01-01 00:00:00";
let endDate = "1998-05-31 00:00:00";
let params = {
  query: "(Date >= date '" + startDate + "' and Date <= date '" + endDate + "')"
};

let geoprocessor = new Geoprocessor({
  url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/911CallsHotspot/GPServer/911%20Calls%20Hotspot",
  outSpatialReference: SpatialReference.WebMercator
});

geoprocessor.submitJob(params).then(function(jobInfo) {
  let jobid = jobInfo.jobId;

  let options = {
    interval: 1500,
    statusCallback: function(j) {
      console.log("Job Status: ", j.jobStatus);
    }
  };

  geoprocessor.waitForJobCompletion(jobid, options).then(function() {
    let layer = geoprocessor.getResultMapImageLayer(jobid);
    map.add(layer);
  });
});

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 Geoprocessor.waitForJobCompletion。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。