最近 Autodesk Forge 颁布了版号 2.15 的 Viewer,同时在 Viewer.loadExtension 这个函数的回传值上有重大的变更。先前的版本是回传布林值(Boolean),从 2.15 版开始回传 ES2015(ES5) 的 Promise,如果您以前没接触过 Promise 可以参考 Google 的这篇文章,下方两个版本的比照:

// 板号 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...


康益昇
748 声望103 粉丝

引用和评论

0 条评论