Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Node.JS中创建产品时条带崩溃_Node.js_Express_Stripe Payments_Stripe Connect - Fatal编程技术网

在Node.JS中创建产品时条带崩溃

在Node.JS中创建产品时条带崩溃,node.js,express,stripe-payments,stripe-connect,Node.js,Express,Stripe Payments,Stripe Connect,我试图在stripe中创建产品,但当我尝试使用stripe.products.create()调用时,它会延迟,几秒钟后,由于“JavaScript内存不足”,我的服务器崩溃 我是这样做的: import stripePackage from 'stripe' const stripe = stripePackage(config.stripe) // after product is found in mongoose stripe.products.create({ id: pro

我试图在stripe中创建产品,但当我尝试使用stripe.products.create()调用时,它会延迟,几秒钟后,由于“JavaScript内存不足”,我的服务器崩溃

我是这样做的:

import stripePackage from 'stripe'
const stripe = stripePackage(config.stripe)

// after product is found in mongoose
stripe.products.create({
    id: product.sku,
    name: product.title,
    type: 'good',
    description: product.description,
    active: product.isAvailable,
    images: product.images,
    package_dimensions: {
        weight: product.shipping.weight * 16,
        length: product.shipping.dimension.length,
        width: product.shipping.dimension.width,
        height: product.shipping.dimension.height
    },
    shippable: true
}).then(stripeProduct => {
    console.log(stripeProduct.id);
    res.json(stripeProduct)
}).catch(err => {
    if (err) {
        console.log(err);
    }
})
CORS设置

app.use((req, res, next)=> {
  res.header("Access-Control-Allow-Origin", "*")
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, token, auth")
  res.header("Access-Control-Expose-Headers", "token")
  res.header("Access-Control-Allow-Methods", "POST,GET,PUT,DELETE,OPTIONS")
  next()
})
以下是express.js的崩溃报告:

<--- Last few GCs --->

[87147:0x102801e00]    61928 ms: Mark-sweep 1416.8 (1462.3) -> 1416.7 (1446.3) MB, 9502.3 / 0.0 ms  (+ 0.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 9502 ms) last resort
[87147:0x102801e00]    72192 ms: Mark-sweep 1416.7 (1446.3) -> 1416.7 (1446.3) MB, 10263.3 / 0.0 ms  last resort


<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x3ca24589cef1 <JSObject>
    1: encode(aka encode) [/Users/thousight/Projects/Project/node_modules/qs/lib/utils.js:~118] [pc=0x163bec732a95](this=0x3ca245882241 <undefined>,str=0x3ca2458822c1 <true>)
    2: arguments adaptor frame: 2->1
    3: stringify(aka stringify) [/Users/thousight/Projects/Project/node_modules/qs/lib/stringify.js:~32] [pc=0x163bec733b44](this=0x3ca245882241 <undefined>,object=0x3ca24588...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: node::Abort() [/usr/local/bin/node]
2: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [/usr/local/bin/node]
3: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/usr/local/bin/node]
4: v8::internal::Factory::NewFixedArray(int, v8::internal::PretenureFlag) [/usr/local/bin/node]
5: v8::internal::LoadIC::LoadFullChain(v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::Smi>) [/usr/local/bin/node]
6: v8::internal::LoadIC::UpdateCaches(v8::internal::LookupIterator*) [/usr/local/bin/node]
7: v8::internal::LoadIC::Load(v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>) [/usr/local/bin/node]
8: v8::internal::Runtime_LoadIC_Miss(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/local/bin/node]
9: 0x163bec5840dd
10: 0x163bec732a95

[87147:0x102801e00]61928毫秒:标记扫描1416.8(1462.3)->1416.7(1446.3)MB,9502.3/0.0毫秒(+自标记开始后0个步骤中的0.0毫秒,最大步骤0.0毫秒,自标记开始后的壁时间9502毫秒)最后手段
[87147:0x102801e00]72192毫秒:标记扫描1416.7(1446.3)->1416.7(1446.3)MB,最后一次扫描10263.3/0.0毫秒
==JS堆栈跟踪=========================================
安全上下文:0x3ca24589cef1
1:encode(aka encode)[/Users/thounight/Projects/Project/node_modules/qs/lib/utils.js:~118][pc=0x163bec732a95](this=0x3ca245882241,str=0x3ca2458822c1)
2:参数适配器帧:2->1
3:stringify(又称stringify)[/Users/thounight/Projects/Project/node_modules/qs/lib/stringify.js:~32][pc=0x163bec733b44](this=0x3ca245882241,object=0x3ca24588。。。
致命错误:调用和重试上次分配失败-JavaScript堆内存不足
1:node::Abort()[/usr/local/bin/node]
2:node::FatalException(v8::Isolate*,v8::Local,v8::Local)[/usr/Local/bin/node]
3:v8::internal::v8::FatalProcessOutOfMemory(char const*,bool)[/usr/local/bin/node]
4:v8::internal::Factory::NewFixedArray(int,v8::internal::PreforeFlag)[/usr/local/bin/node]
5:v8::internal::LoadIC::LoadFullChain(v8::internal::Handle,v8::internal::Handle,v8::internal::Handle,v8::internal::Handle)[/usr/local/bin/node]
6:v8::internal::LoadIC::UpdateCache(v8::internal::LookupIterator*)[/usr/local/bin/node]
7:v8::internal::LoadIC::Load(v8::internal::Handle,v8::internal::Handle)[/usr/local/bin/node]
8:v8::internal::Runtime\u LoadIC\u Miss(int,v8::internal::Object**,v8::internal::Isolate*)[/usr/local/bin/node]
9:0x163bec5840dd
10:0x163bec732a95
有什么问题吗?什么因素会导致服务器崩溃?谢谢

节点:v8.4.0
Stripe节点:v5.8.0

如果您
console.log
正在传递给Stripe.products.create()的对象,您会看到什么?有什么异常吗?您确定这就是它崩溃的地方吗

编辑:更具体地说,这个返回什么

console.log({
  id: product.sku,
  name: product.title,
  type: 'good',
  description: product.description,
  active: product.isAvailable,
  images: product.images,
  package_dimensions: {
    weight: product.shipping.weight * 16,
    length: product.shipping.dimension.length,
    width: product.shipping.dimension.width,
    height: product.shipping.dimension.height
  },
  shippable: true
});

我也记录了这一点,我确信这个对象没有任何问题,因为所有内容都已填写完毕。尽管我一直在跟踪stripe节点自述和API引用中编写的所有内容,但我看不到任何错误。我确信stripe.products.create()会导致崩溃,因为它记录之前的所有内容,并且不会触发。then()我还尝试调用stripe.products.create()函数在没有任何参数的情况下,它仍然会使我的服务器崩溃,这是超级weirdI在我的问题中添加了我的CORS设置,希望帮助显示此系统有多少内存?在尝试序列化该对象时,您的系统似乎在发吐,因此我认为最有可能的原因是其中的某些内容;如果您
console.log会发生什么(JSON.stringify(thatobject));
?它完美地输出字符串。那么系统有多少内存?可以增加它吗?这有什么影响?