Im trying to make an LWC that shows a list of contact tiles that have their own url to navigate to the contact record page. I cannot seem to get the url to push into the array in the .then method. When I console log the urls, I can see them displaying correctly in the console but the URL list is undefined. Any help please would be greatly appreciated! import { LightningElement, api, wire, track } from 'lwc'; import { NavigationMixin } from 'lightning/navigation'; import { getSObjectValue } from '@salesforce/apex'; import { getRecord, getFieldValue } from 'lightning/uiRecordApi'; import getContacts from '@salesforce/apex/AccountController.getContacts'; import ACCOUNTNAME_FIELD from '@salesforce/schema/Account.Name'; import CONTACTID_FIELD from '@salesforce/schema/Contact.Id'; export default class RelationshipMap extends NavigationMixin(LightningElement) { @track actions = [ { label: 'Edit', value: 'edit', iconName: 'utility:edit' }, { label: 'Delete', value: 'delete', iconName: 'utility:delete' }, ]; @api recordId; urlList; contacts; error; @wire(getRecord, { recordId: '$recordId', fields: [ACCOUNTNAME_FIELD]}) account; /* @wire(getContacts, { accId: '$recordId' }) contacts; */ @wire(getContacts, { accId: '$recordId' }) contacts({ error, data }){ if(data){ this.contacts = data; this.error = undefined; for(let i in this.contacts){ this[NavigationMixin.GenerateUrl]({ type: "standard__recordPage", attributes: { recordId: getSObjectValue(this.contacts[i], CONTACTID_FIELD), objectApiName: "Contact", actionName: 'view', }, }).then((url) => { console.log(url); this.urlList.push(url); }); } console.log("URL List: " + this.urlList); } else if(error){ this.error = error; this.contacts = undefined; console.log("Error"); } } get accountName() { return this.account.data ? getFieldValue(this.account.data, ACCOUNTNAME_FIELD) : ''; } }