Node.js 某些代码仅在chrome调试器处于活动状态时工作

Node.js 某些代码仅在chrome调试器处于活动状态时工作,node.js,react-native,momentjs,Node.js,React Native,Momentjs,我正在开发一个react本机应用程序,并尝试使用moment格式化日期 日期看起来像“02-16-2016 09:04:23” 如果chrome调试器处于活动状态,则工作正常。但如果我禁用它,我得到的只是“无效日期” 我使用的解码函数也是一样 var that = this; MessagesService.getMessageBody(selectedMessage) .then(function(messageBody){ var decodedData = win

我正在开发一个react本机应用程序,并尝试使用moment格式化日期

日期看起来像“02-16-2016 09:04:23”

如果chrome调试器处于活动状态,则工作正常。但如果我禁用它,我得到的只是“无效日期”

我使用的解码函数也是一样

var that = this;
MessagesService.getMessageBody(selectedMessage)
    .then(function(messageBody){

        var decodedData = window.atob(messageBody.messages);

        that.setState({
          messageBody: decodedData
        })
    })
    .catch(function(err){
        console.log(err);
    })
使用

<Text> Body: {this.state.messageBody} </Text>
Body:{this.state.messageBody}
并显示日期

<View style = {[MessageStyles.senderItem, MessageStyles.date]}>
       <Text>
          {this.formatTime(message.createDateTime)}
       </Text>
</View>

{this.formatTime(message.createDateTime)}

也许这是一个不好的方式做这件事?仍然在学习,所以我可能会做一些不好的练习。

我最近了解到,在使用chrome调试器时,react native使用不同的JS引擎。ChromeJS引擎在调试期间使用,而JavaScriptCore则在其他情况下使用。根据本文

但是对于日期的实际问题,JavaScriptCore引擎似乎不喜欢用-解析日期。我不得不使用正则表达式将-替换为/,然后我所有的日期操作都正常工作

02-16-2016 09:04:23被视为无效


2016年2月16日09:04:23被认为是有效的

请编辑您的问题,以包含一个而不仅仅是片段。事实上,很难提供帮助,因为我们无法在不猜测其余设置的情况下轻松再现问题。(我怀疑这是一个片刻。js问题顺便说一句,可能是与react或其他东西有关。)好吧,在react Native中添加MVCE有点困难。你能帮助解决这个问题吗?你能分享正则表达式吗?实际上你的回答帮助我解决了这个问题。我花了两个小时才明白这一点。谢谢,哈哈
<View style = {[MessageStyles.senderItem, MessageStyles.date]}>
       <Text>
          {this.formatTime(message.createDateTime)}
       </Text>
</View>