TL:DR:
<!-- 3. Listen on refresh events from the server -->
<script language="javascript" type="text/javascript">
function init()
{
websocket = new WebSocket("ws://"+window.location.host+"/websocket");
websocket.onmessage = function(evt) { location.reload(); };
}
window.addEventListener("load", init, false);
</script>
我不知道我是否理解Javascript承诺。
首先:我的Parse.Job正常工作。它会做它应该做的事情。
第二:是的,我需要将每个用户与所有其他用户进行比较。当然,您可能会提出一些更好的方法,但我的主要问题是使用以下脚本“没有调用错误/成功”问题。
错误:
Edited my post and posted an answer resolving the issue with parallel promises.
剧本:
E2016-01-05T18:37:10.740Z]v255 Ran job checkSth with:
Input: {}
Result: success/error was not called
也许你们中的任何人都可以帮助我。
编辑:解决了承诺!
Parse.Cloud.job("checkSth", function(request, response) { // begin Cloud.Job("checkSth")
var userQuery = new Parse.Query(Parse.User);
var users = []
userQuery.each(function(user){ // [0] userQuery.each
users.push(user)
console.log(users)
var currentUser = user;
userQuery.each(function(user){ // [1] userQuery.each
if (user == currentUser){
console.log("$$$$$$$ SAME USER $$$$$$$")
} else {
if (currentUser.get("memberIDs").indexOf(user.get("memberId")) > -1 ){
console.log("Found (different) member user!")
}
}
}).then(function(){
console.log("User: " + user)
}, function(error){
response.error("Error")
}) // [1] userQuery.each
}).then(function() {
console.log("Users: " + users)
response.success("Success")
}, function(error){
response.error("Error")
}) // [0] userQuery.each
}) // end Cloud.Job("checkSth")
答案 0 :(得分:0)
首先,让我用我所了解的关于Parse Cloud的所有内容来验证我的答案,我在过去的5分钟内了解了他们的API。
但是,为了回答这个问题,看起来当你运行Parse.Cloud.job
时,工作也会返回一个承诺。在运行问题中定义的作业的代码中,您是否在作业运行输出上有成功/错误处理程序?
我不会建议另一种比较技术,因为我不知道这个代码在你的应用范围内做了什么,但我想建议你在嵌套函数时,不要多次使用相同的变量名。 user
在您的代码中有不同的上下文,因此如果为内部函数调用使用不同的变量名,则更容易阅读。
答案 1 :(得分:0)
回答我自己的问题
使用并行承诺解决了我的问题!
new TimeTrigger(60*24, false),