diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index 595cd057e63b3c99f69bc0a958434c43595831a8..f6ad1ac1ae22795e9932bf89889b86fbfe53b2e4 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -289,6 +289,29 @@ function getDocumentPickerSelectResult(args) { return selectResult; } +async function parseDocumentPickerSelRes(documentSelectResult) +{ + console.log('[picker] DocumentSelect result: ' + JSON.stringify(documentSelectResult)); + try { + const selectResult = getDocumentPickerSelectResult(documentSelectResult); + if (args.length === ARGS_TWO && typeof args[ARGS_ONE] === 'function') { + return args[ARGS_ONE](selectResult.error, selectResult.data); + } else if (args.length === ARGS_ONE && typeof args[ARGS_ZERO] === 'function') { + return args[ARGS_ZERO](selectResult.error, selectResult.data); + } + return new Promise((resolve, reject) => { + if (selectResult.data !== undefined) { + resolve(selectResult.data); + } else { + reject(selectResult.error); + } + }) + } catch (resultError) { + console.error('[picker] Result error: ' + resultError); + } + return undefined; +} + async function documentPickerSelect(...args) { let checkDocumentSelectArgsResult = checkArguments(args); if (checkDocumentSelectArgsResult !== undefined) { @@ -326,25 +349,7 @@ async function documentPickerSelect(...args) { return undefined; } } - console.log('[picker] DocumentSelect result: ' + JSON.stringify(documentSelectResult)); - try { - const selectResult = getDocumentPickerSelectResult(documentSelectResult); - if (args.length === ARGS_TWO && typeof args[ARGS_ONE] === 'function') { - return args[ARGS_ONE](selectResult.error, selectResult.data); - } else if (args.length === ARGS_ONE && typeof args[ARGS_ZERO] === 'function') { - return args[ARGS_ZERO](selectResult.error, selectResult.data); - } - return new Promise((resolve, reject) => { - if (selectResult.data !== undefined) { - resolve(selectResult.data); - } else { - reject(selectResult.error); - } - }) - } catch (resultError) { - console.error('[picker] Result error: ' + resultError); - } - return undefined; + return parseDocumentPickerSelRes(documentSelectResult); } function parseDocumentPickerSaveOption(args, action) { @@ -603,7 +608,7 @@ function AudioSaveOptions() { this.newFileNames = undefined; } -function ParseContext(args) +function parseContext(args) { if (args.length > ARGS_ONE || args.length < ARGS_ZERO || typeof args[ARGS_ZERO] !== 'object') { return undefined; @@ -614,19 +619,19 @@ function ParseContext(args) function PhotoViewPicker(...args) { this.select = photoPickerSelect; this.save = documentPickerSave; - this.context = ParseContext(args); + this.context = parseContext(args); } function DocumentViewPicker(...args) { this.select = documentPickerSelect; this.save = documentPickerSave; - this.context = ParseContext(args); + this.context = parseContext(args); } function AudioViewPicker(...args) { this.select = audioPickerSelect; this.save = documentPickerSave; - this.context = ParseContext(args); + this.context = parseContext(args); } export default {