![](/img/trans.png)
[英]RangeError: Maximum call stack size exceeded on Nodejs + Mongoose built API
[英]RangeError: Maximum call stack size exceeded Nodejs mongoose
想測試在數據庫mongodb中插入新文檔的速度,但是,當插入量很大時,它返回以下錯誤:“ RangeError:超出最大調用堆棧大小”誰能告訴我為什么我得到消息嗎?
var counters2Schema = new mongoose.Schema({'_id': ObjectId, 'seq':String}, { versionKey: false, collection: 'counters' }),
var k = 100000;
testCUPwrite function (i) {
var MyObjectId = mongoose.Types.ObjectId;
MyObjectId = new MyObjectId();
var counters2Model = new mongoose.model("counters", counters2Schema);
new counters2Model({'seq': MyObjectId}). save ();
console.log ('teste_' + MyObjectId);
if (i <k) {
i + +;
setTimeout (testCUPwrite (i), 1);
}
}
testCUPwrite (0);
謝謝
這行:
setTimeout (testCUPwrite (i), 1);
沒有按照你的想法去做。 那是直接在當前堆棧中執行testCPUWrite
函數。 它沒有像您想的那樣使用setTimeout
。 就像是
setTimeout(testCUPwrite.bind(null, i), 1);
可能會讓你走。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.