如何从节点js中的异步函数返回值并保存到jenkins管道脚本中的变量?
在Jenkins管道脚本中调用Node js脚本,如下所示:def result = bat node abc/xyz.js
result.id
稍后将在管道脚本中使用
在xyz.js
里面,我定义了一个函数并返回如下值:
function sampleFunc(){
// func2 is an async function
func2()
.then(results) => {
// below console stmt is able to print results
console.log(results)
return results
})
}
console.log(sampleFunc())
控制台日志打印未定义。
回答如下:就像n9iels所说,你忘记了返回一个值。下面的另一个(稍短)示例:
function func2() {
// Mimic async function
return new Promise(resolve => {
setTimeout(() => {
resolve("Hello World!");
}, 1000);
});
}
func2().then(results => {
console.log(results);
});
如何从节点js中的异步函数返回值并保存到jenkins管道脚本中的变量?
在Jenkins管道脚本中调用Node js脚本,如下所示:def result = bat node abc/xyz.js
result.id
稍后将在管道脚本中使用
在xyz.js
里面,我定义了一个函数并返回如下值:
function sampleFunc(){
// func2 is an async function
func2()
.then(results) => {
// below console stmt is able to print results
console.log(results)
return results
})
}
console.log(sampleFunc())
控制台日志打印未定义。
回答如下:就像n9iels所说,你忘记了返回一个值。下面的另一个(稍短)示例:
function func2() {
// Mimic async function
return new Promise(resolve => {
setTimeout(() => {
resolve("Hello World!");
}, 1000);
});
}
func2().then(results => {
console.log(results);
});