Skip to content

Instantly share code, notes, and snippets.

@tadfmac
Last active January 19, 2018 22:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tadfmac/fbed34339903a6f91331dda0fe3426a1 to your computer and use it in GitHub Desktop.
Save tadfmac/fbed34339903a6f91331dda0fe3426a1 to your computer and use it in GitHub Desktop.
javascriptの関数の書き方など

関数の書き方いろいろありすぎるという話

// 関数宣言(同期)

function maebashi(param){
  return param++;
};

// または

var maebashi = function(param){
  return param++;
};

// 同期関数コール

var result = maebashi(param);

// 関数宣言(非同期)

function maebashi(param, func){
  setTimeout(function(){
    func(res);
  },1000);
};

// 非同期関数コール (コールバック関数)

var result;
maebashi(param, result);
function result(res){
  result = res;
}

// 非同期関数コール (コールバック関数:無名関数)

var result;
maebashi(param, function(res){
  result = res;
});

// 非同期関数コール (コールバック関数:アロー関数)

var result;
maebashi(param, (res)=>{
  result = res;
});

// 関数宣言(非同期:promise)

function maebashi(param){
  return new Promise((resolve)=>{
    setTimeout(()=>{
      resolve(res);
    },1000);
  });
};

// 非同期関数コール Promise (プロミス) 

var result;
maebashi(param).then((res)=>{
  result = res;
});

// Promiseを async関数を使って呼び出す

async ()=>{
  var result = await maebashi(param);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment