重大變動 - Forge Viewer.loadExtension

最近 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

相關文章
相關標籤/搜索