質問: JSON.stringify(result); callback(null, response); return; } } }); }; ``` 上記のプログラムを実行すると、`dynamodb.scan (param2`直前の `console.log(param2);` では、正しい結果が得られているのですが、`dynamodb.scan (param2`直後の `console.log(data2);` では、何も結果が返ってきません。。。 (そもそもデータがないわけではなく、判定条件も間違ってないと思われます。 スキャン数はデータベースのデータ数とも一致しております。) 上記のプログラムにに間違っている箇所があれば教えていただきたいです。 また、より良い実装があれば、アドバイスが欲しいです。 よろしくお願いします。
回答: `dynamodb.scan` は非同期処理なので、ちゃんと取り回しをしてあげなければいけません。 上記のソースコードだと、2回目の `dynamodb.scan` の処理が終わる前に `console.log` が実行されていると思われます。 現在LambdaはNode.js8.10が使用できるので、 `async/await` を使えば割と簡単に実現できます。