このガベージ変数を作成するには、時間内にshipmentObjsの値として読み取られますか?私はconsole.logが "undefined"と読むことを知っていますが、関数の後に実行します。どうやって?私はいくつかの方法を試してみましたが、私は、これはあなたが彼db.scan
機能でそれを配置する必要があり、上記のコードの罰金を動作するようにこの関数を次のコードの実行に間に合わせるには?
let garbage;
db.scan({TableName: 'shipments'}, (err,shipments) => {
if (err) console.error(err);
// We got our shipments
let shipmentObjs = shipments.Items;
// Bring out the "done: false" shipments to display
shipmentObjs = shipmentObjs.filter(obj => obj.done === false);
garbage = shipmentObjs;
});
});
// prints "undefined" . Must figure out a way to make it read shipmentObjs from the above code
console.log(garbage);
このコードは完全に問題ありません。それが印刷されます。あなたの実際の質問は何ですか? –
申し訳ありませんコードを実際のコードに変更しました。私はちょうどそれをより簡単にするために最初にダミーのものを作ったが、私はダミーコードが動作すると思う。これは今では本当のコードです。 – Chris
'db.scan'は非同期であることを理解する必要があります。あなたの 'console.log'はスキャンが始まる前に起こりました。非同期コードは、約束またはコールバックを使用して処理できます。 –