Я пытаюсь загрузить изображение, а также некоторые другие данные, которые взяты из формы, в мою базу данных Parse. Многое из этого кода копируется из руководства Parse Javascript. Название, цена и описание подробно загружаются, но изображение никогда не загружается. Что я получаю на моем срубе:Javascript обещает загрузку в обратном порядке
добавив товар ...
Пункта успешно добавлен!
Товар успешно загружен!
В этом порядке ... Я не уверен, почему это произойдет особенно, потому что я использую всю парадигму обещания. Почему элемент должен быть добавлен до загрузки изображения? И почему этот код не работает?
function addItem()
{
console.log('adding item...');
var Item = Parse.Object.extend("FoodItem");
var newItem = new Item();
newItem.set("createdBy", Parse.User.current());
newItem.set("name",$('#itemName').val());
newItem.set("price",parseInt($('#itemPrice').val()));
newItem.set("description",$('#itemDescription').val());
//Upload pic to parse cloud
var fileUploadControl = $("#itemImage")[0];
if (fileUploadControl.files.length > 0)
{
var file = fileUploadControl.files[0];
var name = "photo.jpg";
var parseImage = new Parse.File(name, file);
}
parseImage.save().then
(
function()
{
newItem.set(name,parseImage);
console.log("Image sucessfully uploaded!");
return;
}
).then
(
newItem.save().then
(
function()
{
console.log("Item sucessfully added!")
},
function(error)
{
// there was some error.
alert("Saving item failed with error code " + error.message);
}
)
);
return false;
}
Спасибо! Это работало над тем, чтобы функции выполнялись в правильном порядке. К сожалению, мне все же приходится выяснять, почему изображение по-прежнему не загружается в базу данных :(Хотя в «Журнале» сказано «изображение успешно загружено». – Josh