2016-12-11 11 views
-1

JavaScriptのイベントループでthisトークを見ていて、「コールバック」の実行方法について説明しました。そして、私はそれがどのように動作するかを見るためにこれを書いた:JavaScript関数でコールバックを渡すにはどうすればよいですか?

function show(str) { 
    return 'Hello ' + str; 
} 

// This does not work 
show('World', function (data) { 
    console.log(data); 
}); 

// This works 
console.log(show('Sayantan')); 

多分私はこの全部が間違っている。しかし、私がやろうとしたようなコールバックをどのようにパラメータとして渡すのですか?たとえば、jQueryの$.get()または$.post()では、応答が返ってからやりたいことを行うためのコールバックを行います。ですから、コールバックで定義したように、関数呼び出しでコンソールに「Hello World」と表示されることを期待しています。私は間違って何をしていますか?

答えて

1

コールバックを呼び出し、希望のパラメータを使用してshow関数で呼び出すことができます。

function show(str, cb) { 
 
    return cb('Hello ' + str); 
 
} 
 

 
show('World', function (data) { 
 
    console.log(data); 
 
});

3

あなたはほとんどそこにいる - あなたがやらなかっただけの事はshowにコールバックを処理している:これは "世界" を印刷している

function show(str,callback) { 
    callback('Hello ' + str); // this will execute the anonymous function with 'Hello ' + `str` as the variable 
    return 'Hello ' + str; 
} 
+0

。 –

+0

あなたが何をしようとしているのか分かりませんでした。私は自分の答えを更新しました。 –

関連する問題