JavaScript Promise
Lightning コンソール JavaScript API のメソッドは、Promise を使用して結果を返します。
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})