我写了这个函数来处理解析的CloudCode,它应该执行以下操作
查询需要更新的艺术家 - 工作正常
为每个艺术家制作一个Parse.Cloud.httpRequest来检索即将到来的演出的JSON - 工作正常
解析并保存每个JSON对象 - 似乎解析得很好 - 但即使它返回成功,也不会将任何内容保存到后端
问题 - 当我在可能的代码上运行它时函数返回成功但没有任何对象或类被保存到后端
全球和主要功能
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/about_dialog_page_textview"/>
</LinearLayout>
GetArtistThatNeedToBeUpdated
var Venue = Parse.Object.extend("Venue");
var Event = Parse.Object.extend("Event");
var ArtistObject = Parse.Object.extend("Artist");
var _ = require('underscore');
Parse.Cloud.job("updateUpcomingGigs", function(response) {
Parse.Cloud.useMasterKey();
getArtistThatNeedToBeUpdated().then(function(results){
var firstprommises = [];
_.each(results,function(artist) {
firstprommises.push(
getJSONForArtist(artist).then(function(JSON){
return parseAndSaveUpcomingEventsAndVenues(JSON,artist);
})
);
});//end of loop for each artist
return Parse.Promise.when(firstprommises);
}).then(function(){
console.log('finished');
response.success('Artist and venues Updated');
}),function(error) {
response.error(error);
};//error promise
});
getJSONForArtist
function getArtistThatNeedToBeUpdated() {
var d = new Date();
//var lastWeeksDate = new Date(d.getFullYear(), d.getMonth(), d.getDate() - 7);
var lastWeeksDate = new Date(d.getTime());
//var ArtistObject = Parse.Object.extend("Artist");
//var artistObject = new ArtistObject;
var query = new Parse.Query(ArtistObject);
query.lessThan( "updatedAt", lastWeeksDate );
console.log('get artist');
return query.find();
}
parseAndSaveUpcomingEventsAndVenues - 我认为问题在于某处
function getJSONForArtist(artist){
var encodedArtistName = escape(artist.get("artistName"));
return Parse.Cloud.httpRequest({
url: "http://url goes here"
}).then(function(httpResponse) {
//var JSON = JSON.parse(httpResponse.text);
var JSON = httpResponse.data;
//var resultes = JSON;
return JSON;
});
}
非常感谢任何帮助,我在解析和保存功能中记录了信息,所有对象似乎都很好,我知道此刻缺少防御代码,但我真的不喜欢认为这就是问题所在。
谢谢 - 詹姆斯