この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

JavaScript Promise

Lightning コンソール JavaScript API のメソッドは、Promise を使用して結果を返します。

Lightning コンソール JavaScript API で返される Promise には、コールバック関数を囲む $A.getCallback() ラッパーがすでに含まれているため、このガイドの例には $A.getCallback() ラッパーが含まれていません。これは、このガイド全体のサンプルコードに反映されます。

メモ

LWC での JavaScript Promise の使用

次の例では、openTab() を使用して、フォーカスされたタブのタブ ID を取得します。その後、この関数は openTab() メソッドによって返された tabId を使用して focusTab() をコールします。

1import { LightningElement } from 'lwc';
2import { openTab, focusTab } from 'lightning/platformWorkspaceApi';
3
4export default class MyComponent extends LightningElement {
5    focusNewTab(event) {
6        openTab({
7            url: '/lightning/r/Account/001R0000003HgssIAC/view',
8            label: 'Global Media'
9        }).then((tabId) => {
10            focusTab(tabId);
11        }).catch((error) => {
12            console.log(error);
13        });   
14    }
15}

JavaScript Promise は次のように簡素化することもできます。

1openTab({
2    url: '/lightning/r/Account/001R0000003HgssIAC/view',
3    label: 'Global Media',
4    focus: true
5}).catch((error) => {
6    console.log(error);
7});

Aura での JavaScript Promise の使用

次に示すのは、LWC での JavaScript Promise の使用と同じ例を Aura コンポーネント用に記述したものです。

1({
2    focusNewTab : function(component, event, helper) {
3        var workspaceAPI = component.find("workspace");
4        workspaceAPI.openTab({
5            url: '#/sObject/001R0000003HgssIAC/view',
6            label: 'Global Media'
7        }).then(function(response) {
8            workspaceAPI.focusTab({tabId : response});
9       })
10        .catch(function(error) {
11            console.log(error);
12        });
13    }
14})