2016-12-06 6 views
0

Я хочу создать ссылку на веб-страницу, чтобы поделиться ею на facebook (и другие). Я использую branch.io web SDK в проекте angularJS.Доступ к ссылке со стороны функции обратного вызова 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

Alex из Branch.io здесь:

Это не вопрос конкретно о филиале - это связано с фундаментальным характером обратных вызовов и асинхронного выполнения кода в JavaScript. В принципе, вы не можете напрямую получить доступ к значению link вне функции обратного вызова так, как вы его написали в настоящее время, потому что нет гарантии, что branch.link() будет выполнен еще, и поэтому link может не иметь значения.

Самый простой вариант: делать все, что вам нужно, в функции обратного вызова.

Более сложная опция: Подробнее об асинхронном потоке кода и придумайте альтернативную структуру. Не видя подробностей того, что вы пытаетесь сделать с link, невозможно предложить более конкретное решение.

Смежные вопросы