1

サーバー呼び出しのシーケンスまたは遅延が異なる動作をもたらす方法。コードはこれをより明確に説明する必要があります。

let editProfile = function (e) {
  e.preventDefault();

  let info = {};
  info.username = $(".editProfile #usernameInput").val();
  info.email = $(".editProfile #emailInput").val();

  let picture = $(".editProfile #imageInput")[0].files[0]; 
  if (picture) {                               <-|
    Images.insert(picture);                      |Problem
  }                                              |
  Meteor.call("editProfile", this, info);      <-|
};

これは正常に機能しますが、これらの呼び出しのシーケンスを変更しようとすると、コンソールにエラーが表示されます。

  Meteor.call("editProfile", this, info);      <-|
  if (picture) {                                 |Error is given
    Images.insert(picture);                      |
  }                                            <-|

ブラウザのエラー:

リソースの読み込みに失敗しました: サーバーは 404 (見つかりません) のステータスで応答しました

エラー: "キュー" に失敗しました [404] 見つかりません [404] [未定義]、エラー: 失敗しました [404] 見つかりません [404] [未定義] at cfs_upload-http.js:351 at cfs_upload-http.js:77 at underscore .js:750 at XMLHttpRequest.xhr.onreadystatechange (cfs_upload-http.js:200)

このようなことをしようとすると:(エラーは発生しません)

Meteor.call("editProfile", this, info);
setTimeout(function () {
  if (picture) {
    Images.insert(picture);
  }
},2000);

この動作がタイムアウト/シーケンスの影響を受ける理由を知りたいです。

4

0 に答える 0