0
我正在嘗試返回getsignedurl裏面的url。當我嘗試這爲url1未定義如何在函數內部返回一個函數javascript/nodejs?
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'是異步的,所以'return url1;'在回調函數中設置了'url1'之前運行。 – forgivenson