将值从函数传递到另一个函数

时间:2017-05-15 15:27:13

标签: javascript

我目前很难弄清楚如何在我的javascript中将函数值从函数传递到另一个函数。正如你在这里看到的,我正在运行。我想知道如何将结果从get_short_url函数传递给openTwitter函数。

基本上short_url中的console.log包含我需要转移到openTwitter函数的值

var login = "username";
var api_key = "api_key";
var long_url = "http://www.kozlenko.info";

function get_short_url(long_url, login, api_key, func) {
    $.getJSON(
        "http://api.bitly.com/v3/shorten?callback=?", 
        { 
            "format": "json",
            "apiKey": api_key,
            "login": login,
            "longUrl": long_url
        },
        function(response)
        {
            func(response.data.url);
        }
    );
}

get_short_url(long_url, login, api_key, function(short_url) {
    console.log(short_url)
});
function openTwitter(url) {
  var url = 'https://twitter.com/intent/tweet?text= PLACE short_url value here,
  win = window.open(url, '_blank');
  win.focus();
}

$('#twitter').on('click', function() {
    openTwitter();
});

1 个答案:

答案 0 :(得分:0)

openTwitter的回调中调用get_short_url

var login = "username";
var api_key = "api_key";
var long_url = "http://www.kozlenko.info";

function get_short_url(long_url, login, api_key, func) {
    $.getJSON(
        "http://api.bitly.com/v3/shorten?callback=?", 
        { 
            "format": "json",
            "apiKey": api_key,
            "login": login,
            "longUrl": long_url
        },
        function(response)
        {
            func(response.data.url);
        }
    );
}

function openTwitter(short_url) {
  var url = 'https://twitter.com/intent/tweet?text=' + short_url,
  win = window.open(url, '_blank');
  win.focus();
}

$('#twitter').on('click', function() {
  get_short_url(long_url, login, api_key, openTwitter);
});