Parse.comのjavascript APIを使用して、私が作業しているアプリケーション用のNode.jsスクリプトを作成しています。 JSの新機能Parse.com Query Find with Javascriptクロージャー完了ハンドラーが結果を表示しない
javascriptクロージャを使用してローカル値をキャプチャしようとしているため、ループの実行ごとに、ハンドラが完了ハンドラを生成するときにループの時点で成功ハンドラが適切な値のuserIdとuserNameを持つようになります。 javascriptのクロージャーに関する私の研究をした後、これはそれを行う方法と思われる。実際、successClosureは適切な時間とnameStuffとuserStuffの適切な値で呼び出されます。ただし、結果は常にUndefinedです。これはParseのJavascript APIと関係がありますか?これはParseのQuery Findで動作しませんか?なぜなら私は単純にfunction(results){...}をsuccessパラメータとして使うと、結果はそこにありますが、ローカル変数は正しくありません。
for (i = 0 ; i < results.count; i++) {
var query = //Some Parse query based on results[i]
var userId = …
var userName = …
var successHandler = successClosure(userName, userID)
query.find({success : successHandler,
error : {}
});
}
...
function successClosure(userName, userId) {
var nameStuff = userName
var userStuff = userId
return function(results) {
console.log(nameStuff, userStuff)
console.log(results)
}
}
'クエリーするオプションはありますか? find() 'はすべてオブジェクトにラップされるべきではありませんか? – stevenelberger
ええ、それは、私の例では角括弧を忘れてしまったことです。 – NickDK