最近 Autodesk Forge 頒佈了版號 2.15 的 Viewer,同時在 Viewer.loadExtension
這個函數的回傳值上有重大的變動。先前的版本是回傳布林值(Boolean),從 2.15 版開始回傳 ES2015(ES5) 的 Promise,若是您之前沒接觸過 Promise 能夠參考 Google 的這篇文章,下方兩個版本的比照:web
// 板號 2.14 以及之前的版本 // Synchronous code, 從版號 2.15 開始不被支持了 var res = viewer.loadExtension('MyExtensionID') if (res) { // 擴展載入成功 var myExtension = viewer.getExtension('MyExtensionID') myExtension.callMethod(...) } // 版號 2.15 及之後的版本 - ES5 viewer.loadExtension('MyExtensionID').then( function(myExtension) { myExtension.callMethod(...) }, function (err) { console.log('擴展載入失敗: ') console.log(err) }) // 版號 2.15 及之後的版本,使用 ES6/async try { const myExtension = await viewer.loadExtension( 'MyExtensionID') myExtension.callMethod(...) } catch (ex) { console.log('擴展載入失敗: ') console.log(err) }
參考:https://forge.autodesk.com/bl...promise