function getNextID(number){
var maxKey = 0;
number = typeof number !== 'undefined' ? number : 1;
db.from('contributions').select('id').list().done(function(records) {
records.forEach(function(item){
if (maxKey < item){
maxKey = item;
}
});
return(maxKey);
});
}
私はydn-dbを使用しています
これは、ローカル ストレージを操作するためのクラスです。AJAX ではなく非同期で動作します。
私がやろうとしているのは、テーブルの次の ID を取得することです (ただし、そのビットは実際には無関係な部分です)。
私が抱えている問題は次のいずれかです。
a)私はばかで、スコープを間違えていますmaxKey
b) 非同期呼び出しがすべてを台無しにしています。
現時点では、関数は常に「未定義」を返しますが、return をconsole.log(maxKey);
それに置き換えると正常に動作します。
この関数を正しく呼び出せるように修正する方法を誰か教えてもらえますか?
(これは関数の例なので、次のキーを見つけるための組み込み関数は高く評価されますが、関数内から非同期アイテムを返す方法を本当に知る必要があります!)
それが明確であることを願っています-質問があれば-発砲してください!