こんにちは。宮野川です。個人でアプリ開発してます。
- promiseオブジェクトを取り出したい。
- Object Promiseが表示されて中身が見えない。
- Promiseのデータを取得したい。
この問題の解決策はこちらです。
結論
Promise.resolve('Success').then( function(value) {
// ここでプロミスオブジェクトの中身をああだこうだする。
console.log(value)
})
Promiseの後ろにthenを繋げて必要な処理をします。
実際のコード
実際のアプリで使用しているコードはこちらです。
ボタンをクリックすると、インストール先を指定するダイアログを表示する関数群です。
ipcRenderer
const select_folder = () => {
ipcRenderer.invoke('request_playlists_select_folder')
.then(function(return_path) {
console.log(return_path)
})
}
console.log( return_path ) には、ipcMain で取得したインストール指定先パスの文字列が配列で表示されます。
ipcMain
ipcMain.handle('request_playlists_select_folder', async ( event ) => {
const path = dialog.showOpenDialogSync( {
properties: ['createDirectory', 'openDirectory']
})
// console.log(path)
return path
})
“dialog.showOpenDialogSync” の戻り値を 変数に代入し、ipcRender に返しています。
ここでは、ユーザーが指定したインストール先フォルダのパスを文字列として返却しています。
実行結果
["/Volumes/Audio"]
参考文献