Javascript 通过数组nodejs映射

Javascript 通过数组nodejs映射,javascript,node.js,stripe-payments,Javascript,Node.js,Stripe Payments,我有一个条带函数,我试图将每个产品的图像推送到阵列中。这是预构建条带签出页面的一部分。。。以下是我的整体功能: //defining arrays var productsArray = []; var priceArray = []; var imageArray = []; //query to database var productsStripe = "select * from " + tableID + ""; ibmdb.open(db2C

我有一个条带函数,我试图将每个产品的图像推送到阵列中。这是预构建条带签出页面的一部分。。。以下是我的整体功能:

//defining arrays
var productsArray = [];
var priceArray = [];
var imageArray = [];
//query to database

var productsStripe = "select * from " + tableID + "";
ibmdb.open(db2ConnString, function(err, conn) {
    if (err) return console.log(err);
  conn.query(productsStripe,  async function (err, rows) {
    if (err) {
      console.log(err)
    }
    console.log(rows)

    var itemName = ""
    var itemPrice = ""
    var totalNewPriceTest = ""

    for(var i = 0; i < rows.length; i++)     
    //inserting items and prices into arrays
     productsArray.push(rows[i]['NAME'])
     priceArray.push(rows[i]['PRICE'])
     imageArray.push(rows[i]['IMAGE_URL'])

    }
   
  
    //stripe
            // loop over products array to construct the line_items
        const items = productsArray.map((product, i) => {
            return {
            price_data: {
                currency: 'CAD',
                product_data: {
                name: product,
                images: imageArray[i]
                },
                unit_amount: parseInt(priceArray[i], 10) * 100,
            },
            quantity: 1,
            };
        });
//定义数组
var productsArray=[];
var priceArray=[];
var imageArray=[];
//对数据库的查询
var productsStripe=“选择*自”+tableID+”;
ibmdb.open(db2ConnString,函数(err,conn){
if(err)返回console.log(err);
conn.query(ProductsTripe,异步函数(err,行){
如果(错误){
console.log(错误)
}
console.log(行)
var itemName=“”
var itemPrice=“”
var totalNewPriceTest=“”
对于(变量i=0;i{
返回{
价格数据:{
货币:"加元",,
产品数据:{
名称:产品,
图像:图像阵列[i]
},
单位金额:帕塞因特(价格数组[i],10)*100,
},
数量:1,
};
});
它返回错误:
(节点:39728)未经处理的PromisejectionWarning:错误:无效数组

如何让图像数组也用图像填充条带页面?我将值推入数组并调用它们,但不确定它为什么返回无效数组。有什么想法吗?

  • imageArray
    是包含不同产品的图像URL的数组,在
    productArray
    中,每个产品对应一个图像URL
  • 根据OP提供的道具
    图像
    的名称、错误消息和错误行信息,道具
    图像
    应该是一个数组

在代码中,
image:imageArray[i]
意味着
image
属性被分配了一个字符串,但它应该是数组。因此使用
[imageArray[i]]更改它
,我们正在为包含该产品图像url的
图像
道具分配一个长度为1的数组。

该代码太长,社区无法读取。请将其减少到最小的可复制示例,并指出抛出错误的行。@ShivamSingla刚刚将其缩短:)在哪一行出错?Async和await应一起用于解析承诺
图像:[imageArray[i]]