如何在函数 JavaScript/NodeJS 中返回函数
how to return a function inside a function javascript/nodejs?
我正在尝试返回我在getsignedURL中获得的URL。 当我尝试此 url1 未定义
时function getPublicUrl(filename) {
var url1;
var file = bucket.file(filename);
file.getSignedUrl({
action: 'read',
expires: '03-17-2025'
}, function (err, url) {
if (err) {
console.error(err);
return;
} else {
url1 = url
console.log(url);
}
});
return url1;
}
然后在另一个函数中,我会调用getpublicurl
stream.on('finish', function() {
req.file.cloudStorageObject = gcsname;
req.file.cloudStoragePublicUrl = getPublicUrl(gcsname);
file.getSignedUrl
似乎是一个异步函数,你可以在getPublicUrl
中使用ES6 Promise,有点像这样
function getPublicUrl(filename) {
return new Promise(function(resolve, reject) {
var file = bucket.file(filename);
file.getSignedUrl({
action: 'read',
expires: '03-17-2025'
}, function(err, url) {
if (err) {
reject(err);
} else {
resolve(url);
}
});
});
}
stream.on('finish', function() {
getPublicUrl(gcsname).then(function(url) {
console.log(url);
req.file.cloudStorageObject = gcsname;
req.file.cloudStoragePublicUrl = url;
}).catch(function(err) {
console.log(err);
});
});
相关文章:
- nodejs中匿名函数的使用
- Nodejs模块函数返回未定义的,而不是异步的
- 在NodeJS中使用类函数作为事件侦听器
- NodeJS:函数与匿名函数
- 从多线程C++插件回调NodeJS Javascript函数
- 从Nodejs中的函数返回数组,并将其发送到ejs视图
- NodeJS:创建一个hash并返回一个函数的值
- TypeError:回调不是nodeJS中具有asyncJS的函数
- 更好的写法 NodeJS 读/写文件的函数
- 具有默认参数值的 ES6 类构造函数上的 NodeJS 错误
- 在特定时刻调用 NodeJs 函数
- Nodejs 异步任务和匿名函数
- 如何获取以编程方式定义nodejs函数的位置
- 导出对象与函数 NodeJs
- TypeError: http.listen 不是一个函数: NodeJS.
- 如何在自己的函数中定义回调函数?NodeJS
- 当移动到函数(nodejs, express)时,请求和响应对象变得未定义
- 将回调中的变量返回到已定义的函数NodeJS中
- 设置回调函数 nodejs 的值
- 查找调用函数(nodejs)的文件的位置