new Date (). getTime () показывает NaN в JavaScript - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь сохранить текущее время внутри временного объекта внутри ключа временной метки, используя new Date.getTime() и pu sh его в массиве, который находится внутри глобально доступной переменной GLOBAL_VAR. Но после того, как я создаю временную переменную и распечатываю ее значение, она показывает, что метка времени NaN Я не знаю, почему я не могу получить ее внутри объекта (console.log() и результат показан ниже)

Кроме того, функция handleOrderMessage вызывается при получении события socket.io, я не знаю, повлияет ли это на функцию new Date.getTime(), отображающую результат:

console.log("TEMP OBJECT IS", tempObject)
/*
{
id: "-909e-11ea-9ede-066a42ffe1ae",
​price: "0.1",
​quantity: "0.1",
​side: "buy",
​timestamp: NaN
}
*/
    function handleOrderMessage(msg) {


        let d = new Date();
        console.log(d.getTime());
        if (msg['status'] === "PLACED") {
            //for buy
            if (msg['orderSide'] === "Buy") {
                let tempObject = {
                    side: "buy",
                    id: msg["OrderID"],
                    timestamp: d.getTime(),
                    quantity: parseFloat(msg["Quantity"].toFixed(4)).toString(),
                    price: parseFloat(msg["Price"].toFixed(4)).toString()
                }
                //pushing to the global orders with price from msg as key
                if (tempObject.price in GLOBAL_VAR.bidOrdersPricesAsKey) {
                    GLOBAL_VAR.bidOrdersPricesAsKey[tempObject.price].push(tempObject);
                } else {
                    GLOBAL_VAR.bidOrdersPricesAsKey[tempObject.price] = [tempObject]
                }
                console.log("GLOBAL VAR BUY ORDERS PRICES ASK KEY", GLOBAL_VAR.bidOrdersPricesAsKey)
                console.log("TEMP OBJECT IS", tempObject)
      }
    }

1 Ответ

1 голос
/ 08 мая 2020

Следующее, похоже, работает нормально, не знаю, почему вы получаете NaN. Пожалуйста, предоставьте полный рабочий код для устранения проблемы.

doit();
function doit() {
  let d = new Date();
  let tempObject = {
    side: "buy",
    timestamp: d.getTime()
  };
  console.log(tempObject);
}
...