record.attach.promise(options)
| Method Description | Attaches a record asynchronously to another record. 
                    Note: 
                     The parameters and errors thrown for this method are the same as those for record.attach(options). For more information about promises, see Promise Object. | 
| Returns | |
| Synchronous Version | |
| Supported Script Types | Client scripts For more information, see SuiteScript 2.x Script Types. | 
| Governance | 10 units | 
| Module | |
| Since | 2015.2 | 
Parameters
The options parameter is a JavaScript object.
| Parameter | Type | Required / Optional | Description | Since | 
|---|---|---|---|---|
| 
                     | required | The record to attach. | 2015.2 | |
| 
                     | string | required | The type of record to attach. Set the value using the record.Type enum. To attach a file from the File Cabinet to a record, set type to  | 2015.2 | 
| 
                     | number | string | required | The internal ID of the record to attach. | 2015.2 | 
| 
                     | required | The record that the  | 2015.2 | |
| 
                     | string | required | The record type of the record to attach to. Set the value using the record.Type enum. To attach a file from the File Cabinet to a record, set type to  | 2015.2 | 
| 
                     | number | string | required | The internal ID of the record to attach to. | 2015.2 | 
| 
                     | Object | optional | The name-value pairs containing attributes for the attachment. By default, this value is null. | 2015.2 | 
Errors
| Error Code | Thrown If | 
|---|---|
| 
                     | A required argument is missing or undefined. | 
Syntax
The following code sample shows the syntax for this member. It is not a functional example. For a complete promise script example, see Promise Object.
          // Add additional code
...
function attachRecord() {
    var attachRecordPromise = record.attach.promise({
        record: {
            type: record.Type.CONTACT,
            id: '97'
        },
        to: {
            type: record.Type.OPPORTUNITY,
            id: '16'
        }
    });
    
    attachRecordPromise.then(function() {                      
        // Add any other needed logic that shouldn't execute until
        // after the contact record is attached to the opportunity 
        log.debug({
         title: 'Record updated', 
         details: 'Attachment successful'
        });
                 
    }, function(e) {
        log.error({
            title: e.name, 
            details: e.message
        });
    });
}
...
// Add additional code