もうそろそろこんばんは、でしょうか。
非同期で動きまくってお行儀の悪い!?
Parse Cloudのコードたちを交通整理するために、
Parse.Promiseを活用しています。
ようやく、何となく、分かって来ました。
で、複数のクエリーの結果を取得した後、
次の処理に移りたかったので、
return Parse.Promise.when([query1.count(), query2.count()]);
のようなコードを書いて、
.then(function(counts){
のようなコードで引数を受けていたのです。
countsは配列、という想定で。
https://parse.com/docs/js/symbols/Parse.Promise.html#.when
を見ると、
If they all succeed, then the returned promise will succeed, with the result being an array with the results of all the input promises.
と書いてあります。
「全ての入力promiseの結果が格納された配列」が返ってくるという
解釈は間違っているのか、counts[0]のようなアクセスだと値が取れません…
ということでParseのフォーラムで「promise when」だったかな?
で検索すると…
Parse.Promise.when doesn't work
という内容が掲載されていて、
どうも、
.then(function(count1, count2){
という受け方をするのが正しいのだそうな…
私、こんな融通効き過ぎるプログラミング言語って、
キライなんですよ…
もう頭が凝り固まってきているので、
自分が融通効かないもので…
とは言うものの、
時代はJavaScriptですもんね。
ちゃんと勉強しないと。