サーバー呼び出しのシーケンスまたは遅延が異なる動作をもたらす方法。コードはこれをより明確に説明する必要があります。
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);
この動作がタイムアウト/シーケンスの影響を受ける理由を知りたいです。