サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >SDKガイド(JavaScript):非同期処理について

SDKガイド(JavaScript)

非同期処理について

このドキュメントは更新されていません。
こちらから最新版をご覧ください。

非同期処理について

JavaScript SDK ver2.0ではすべての通信処理は非同期で行われます。
非同期処理はコールバックとプロミスの二通りの書き方があります。

コールバック

非同期処理のレスポンスをコールバック関数で受け取ります。

var ncmb = new NCMB(apikey, clientkey);

var Obj = ncmb.DataStore("Obj");
var obj = new Obj();
obj.save(function(err, obj){
    if(err){
      console.log(err); // エラーの場合のレスポンス
    }else{
      console.log(obj); // 成功時のレスポンス
    }
  });

Promise

Promiseではthenメソッドで成功時・catchメソッドで失敗時のレスポンスを受け取ります。

var ncmb = new NCMB(apikey, clientkey);

var Obj = ncmb.DataStore("Obj");
var obj = new Obj();
obj.save()
   .then(function(obj){
      console.log(obj); // 成功時のレスポンスが返る
    })
    .catch(function(err){
      console.log(err); // 失敗時のエラーが返る
    });

Promiseチェイン

thenメソッド内で非同期処理を return で返すことで、thenメソッドを連続して記述することができます。
このように実装することで、コールバックの連続でネストが深くなるのを防ぐことができます。

var Obj = ncmb.DataStore("Obj");
var obj = new Obj();
obj.save()
   .then(function(obj){
      obj.set("status", "update");
      return obj.update(); // 非同期処理を実行
    })
    .then(function(obj){
      console.log(obj); // saveおよびupdateが成功した結果が返る
    })
    .catch(function(err){
      console.log(err); // 非同期処理のいずれかが失敗した時のエラーが返る
    });

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ