2016-12-06 80 views
0

我想創建一個網頁鏈接在Facebook(和其他)上分享。 我在angularJS項目中使用了branch.io web SDK。從branch.io回調函數外部訪問鏈接?

function shareFacebook(){ 

    branch.link({ 
     tags: [ 'tag1', 'tag2' ], 
     channel: 'facebook', 
     feature: 'dashboard', 
     stage: 'new user', 
     data: { 
      mydata: 'something', 
      foo: 'bar', 
      '$desktop_url': $location.absUrl(), 
      '$og_image_url': 'http://branch.io/img/logo_icon_white.png' 
     } 
    }, function(err, link) { 
     console.log(err, link); 
    }); 

    //I want to return the link here 
} 

鏈接已創建,但是如何從外部回調函數訪問它?

回答

0

亞歷克斯從Branch.io這裏:

這不是一個問題,特別是約科 - 這與回調的根本性質和異步代碼執行在JavaScript中執行。基本上,您不能直接訪問link以外的回調函數的值,因爲不能保證branch.link()已經執行,因此link可能沒有值。

最簡單的選項:在回調函數中做你需要的任何東西。

較難選擇:瞭解更多關於異步代碼流的信息,並提出一個替代結構。沒有看到你想要用link做什麼的細節,就不可能提供更具體的解決方案。