在我编写的以下 API 代码中,当我调用方法 getData(pdf, data, X)
,
我收到一条returning:8
的警报消息。
然后在主方法中,我收到 increaseheight A:
的警报
如何将值从 getData 传递到 main 函数?
import React from 'react';
import JSPDF from 'jspdf';
import 'jspdf-autotable';
import { setMoney } from './NumberFormatter';
export const generatePdf = (obj, save, orientation) => {
const pdf = new JSPDF({
orientation: obj.pageformat ? obj.pageformat : 'p',
format: 'a4',
});
let dataArray = obj.dataArray;
let Y_INCREMENT = 8;
dataArray.forEach(data => {
let X = 20;
let increaseheight = Y_INCREMENT;
alert(Y_INCREMENT+" increaseheight1:"+increaseheight);
increaseheight = getData(pdf, data, X);
alert("increaseheight A:",increaseheight);
});
}
const getData = (pdf, data, X) => {
let returnheight = 8;
alert("returning:"+returnheight);
return returnheight;
}
最佳答案
看来你的做法是正确的。但是,在从 getData() 接收结果之前,下一行将被执行。这就是为什么你没有获得值(value)。你可以使用 Promise 来代替 - 例如你的 getData() 函数应该是这样的 -
const getData = (pdf, data, X) => {
let returnheight = 8;
//alert("returning:"+returnheight);
return new Promise((resolve,reject) => {
resolve(returnheight)
});
}
-- 那么你应该这样调用它 -
getData(pdf, data, X).then(result => {
increaseheight = result
alert("increaseheight A:",increaseheight);
});
关于javascript React 从方法传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59915294/