當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript ArcGIS JobInfo.waitForJobCompletion用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

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

ESM: import JobInfo from "@arcgis/core/rest/support/JobInfo";

類: esri/rest/support/JobInfo

繼承: JobInfo > Accessor

自從:用於 JavaScript 4.20 的 ArcGIS API

用法說明

JobInfo.waitForJobCompletion函數(或屬性)的定義如下:

waitForJobCompletion (options) {Promise<JobInfo>}


在異步作業完成時解析。可以選擇監控作業進度。

參數:

規格:
類型說明
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.
const startDate = "1998-01-01 00:00:00";
constendDate = "1998-05-31 00:00:00";
const params = {
  query: "(Date >= date '" + startDate + "' and Date <= date '" + endDate + "')"
};

const url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/911CallsHotspot/GPServer/911%20Calls%20Hotspot";

submitJob(url, params).then((jobInfo) => {
  const jobid = jobInfo.jobId;

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

  jobInfo.waitForJobCompletion(options).then(() => {
    const layer = jobInfo.fetchResultMapImageLayer();
    map.add(layer);
  });
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 JobInfo.waitForJobCompletion。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。