getposition یہ تقریب غلطیاں دیتی ہے اگر کوئی پوزیشن نہیں ہے

مصنف:جیانگ, تخلیق: 2018-04-12 16:36:42, تازہ کاری:

اس مسئلے کو کیسے ٹھیک کیا جائے؟ اگر اکاؤنٹ میں کوئی پوزیشن نہیں ہے تو ، پوزیشن کی معلومات حاصل کرنے کے لئے درج ذیل کوڈ کا استعمال کریں while (true) { var position=_C ((exchange.GetPosition)

if(position==null) { جاری رکھیں } type=position[0].Type if ((type ==PD_LONG) { if ((excell!==sellPrice) { CancelPendingOrders (باقی احکامات منسوخ کریں) exchange.SetDirection ((closebuy) exchange.Sell ((sellPrice,position[0].Amount) exsell=sellPrice } } جب اکاؤنٹ میں کوئی پوزیشن نہیں ہوتی ہے تو ، گیٹ پوزیشن کو ایک خالی صف [] ملنا چاہئے ، لہذا اگر بیان میں جاری رکھنا جاری رکھیں گے تاکہ لپیٹ دوبارہ شروع ہوجائے ، لیکن اصلی ڈسک ٹیسٹ میں بھی غلطی کی واپسی ہوگی۔ TypeError: can't read property Type of undefined at main (ٹائپ ایرر: پراپرٹی نہیں پڑھ سکتا)فائل:129)

میں نے if میں شرائط کو تبدیل کرنے کی کوشش کی ہے، جیسے position[0]==null یا typeof(position) ==undefined دونوں کام نہیں کرتے ہیں یا اس کے بعد type=position[0] کو انجام دیتے ہیں.

اس مسئلے کو کیسے حل کیا جائے؟


مزید

شیونگ لونگ ہوئاس کا حل یہ ہے: var position = _C ((exchange.GetPosition) ؛ if ((position.length>0) { // براہ کرم کوڈ کو اس بڑے قوسین میں رکھیں۔ اصول یہ ہے: پہلے اس ذخیرہ کرنے والے فنکشن کی واپسی والے صف کی لمبائی کا تعین کریں ، جس کی لمبائی 0 سے زیادہ ہے ، اس کا مطلب یہ ہے کہ ذخیرہ کرنے کی معلومات موجود ہیں ، براہ راست null ، undefine کے ساتھ کوئی فیصلہ نہیں کیا جاسکتا ہے۔ اس کے بعد آپ position[0] تک رسائی حاصل کرسکتے ہیں۔ }

یومونٹاسی مسئلے کا سامنا کرنا پڑتا ہے ، اور مجھے لگتا ہے کہ یہ ضروری ہے کہ تبادلے کے لئے الگ الگ غلطی کی اجازت دینے والا فنکشن ترتیب دیا جائے۔ گیٹ پوزیشن ، ورنہ یہ فنکشن اسٹوریج کے بغیر تقریبا مکمل طور پر ناقابل استعمال ہے۔ اس کے علاوہ ، براہ کرم مالک سے پوچھیں کہ آخر کار یہ کیسے حل ہوا؟

چھوٹا سا خوابمیں نے اس پوسٹ کو دیکھا اور ایک مسئلہ دیکھا۔ جب آپ نے exchange.GetPosition (() کو کال کیا تو اگر آپ نے اسٹوریج نہیں کیا تو یہ [] واپس کرے گا ، ایک خالی صف ، جو null کے برابر نہیں ہے ، آپ کا فیصلہ ہے۔ جب position == null ہے، تو یہ غلط ہے، لہذا یہ جاری نہیں رکھے گا، اور پھر آپ position[0] پر جائیں گے، یہ عنصر موجود نہیں ہے، لہذا undefine ہے، اور اس کی قسم کی خاصیت کو دوبارہ کال کرنے میں غلطی ہوگی.