Momentjs解析异步函数中的javascript日期对象并对其进行格式化,但可以';不要将它分配给同一个属性

Momentjs解析异步函数中的javascript日期对象并对其进行格式化,但可以';不要将它分配给同一个属性,javascript,mysql,node.js,momentjs,Javascript,Mysql,Node.js,Momentjs,这就是错误所在* const moment = require('moment'); const db = require("../db/conn"); const runStmtPromisified = require("../utils/runStmtPromisified"); const f = async () => { const stmt = `select * from test;` const tests = await runStmtPromisif

这就是错误所在*

const moment = require('moment');
const db = require("../db/conn");
const runStmtPromisified = require("../utils/runStmtPromisified");

const f = async () => {
    const stmt = `select * from test;`
    const tests = await runStmtPromisified(stmt, [], db);
    tests.forEach(test => {
        test.created_at = moment(test.created_at).format('LLL') // throws error*
        // const momentDate = moment(test.created_at) // **
        // test.created_at = momentDate.format('LLL') // ** This works, why?
    })
    console.log(tests);
}
f()
我已经检查了test.created_at的类型,它是一个对象。当我记录时,它会显示日期。所以,我猜它是一个javascript日期对象

为什么将变量解析为另一个变量,然后格式化新变量并将其存储到原始变量中会起作用,但解析、格式化并直接存储到原始变量中却不起作用

它是否与异步函数中的代码有关?或者我正在从mysql数据库获取数据

我试过这个方法,效果也很好:

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments: 
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: May 26, 2020 6:51 PM, _f: undefined, _strict: undefined, _locale: [object Object]
Error
    at Function.createFromInputFallback...

谢谢你

那些有用的测试用例。。。请添加一个显示实际问题的测试用例。有效的测试用例不是真正有用的。。。请添加显示实际问题的。
let jsDateObj = new Date('12/10/1999')

jsDateObj = moment(jsDateObj).format('LLL')
console.log(jsDateObj)