回答編集履歴
3
先頭の余計なバッククォートを削除
    
        answer	
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            getImage(url) を同期関数にしたいのでしょうか、それとも非同期関数にしたいのでしょうか。
         | 
| 2 2 |  | 
| 3 3 | 
             
            という質問の意味がもしわからないとしたら、Node.js の基本的な仕組みを理解していないものと思われますので、その勉強が必要だと思います。
         | 
| 4 4 |  | 
2
表示が崩れるので修正
    
        answer	
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 | 
            -
            ` | 
| 1 | 
            +
            `getImage(url) を同期関数にしたいのでしょうか、それとも非同期関数にしたいのでしょうか。
         | 
| 2 | 
            +
             | 
| 2 3 | 
             
            という質問の意味がもしわからないとしたら、Node.js の基本的な仕組みを理解していないものと思われますので、その勉強が必要だと思います。
         | 
| 3 4 |  | 
| 4 5 | 
             
            現在のコードのまま ```getImage(url)``` が呼ばれるとどうなるか、を説明すると、```headers``` が初期化され、```options``` が初期化され、```request()``` が呼ばれて HTTP リクエストが飛んで ```request()``` から戻ってきます。で、```getImage()``` が終了します。ここに明示的な ```return``` がないので、暗黙的な ```return``` が実行されます。
         | 
1
曖昧な表現を明確に
    
        answer	
    CHANGED
    
    | @@ -4,5 +4,5 @@ | |
| 4 4 | 
             
            現在のコードのまま ```getImage(url)``` が呼ばれるとどうなるか、を説明すると、```headers``` が初期化され、```options``` が初期化され、```request()``` が呼ばれて HTTP リクエストが飛んで ```request()``` から戻ってきます。で、```getImage()``` が終了します。ここに明示的な ```return``` がないので、暗黙的な ```return``` が実行されます。
         | 
| 5 5 | 
             
            で、HTTP のレスポンスが返ってくると、```request()``` の第 2 引数に指定したコールバック関数が呼ばれます。このコールバック関数の中で ```encImg``` を返していますが、受け取る人はいません。
         | 
| 6 6 |  | 
| 7 | 
            -
             | 
| 7 | 
            +
            ```getImage()``` を呼び出した側で結果を得られるようにするには、```getImage()``` を「同期化する」か、「非同期のまま動くよう、コールバック関数を引数に取るようにする」かします。推奨されるのは後者でしょうね。
         | 
| 8 8 | 
             
            最初に言った、Node.js の基本的な仕組みを理解していない場合、ここで解決策の具体的なコードを示しても意味がないでしょう。
         | 
