javascript - 从函数 a 传递函数 b 中变量的值
问题描述
我有一个函数 A,我希望它使用B 调用函数await
。函数 A有一个变量var imageURL
,我如何在函数 B中调用它-
"data": "{\n\t\"url\":\"https://i.ibb.co/1b5wYNp/sa.png\"\n\t\n}\n"
代替硬编码的 url。
function A() {
var encodedImage = "iVBORw0KGgoAAAANSUhEUgAAAFA";
console.log("upload pic");
// Create a root reference
var storageRef = firebase.storage().ref().child('image4.jpeg');
const uploadTastk = firebase.storage().ref().child('image4.jpeg').putString(encodedImage, 'base64', {
contentType: 'image/jpeg'
})
uploadTastk.then(
(response) => {
console.log('image upload success')
console.log(response);
uploadTastk.snapshot.ref.getDownloadURL().then(function(downloadURL) {
console.log("File available at", downloadURL);
var imageURL = downloadURL;
await B();
});
},
(failedReason) => {
console.log('image upload failed')
}
)
}
async function B() {
var settings = {
"async": true,
"crossDomain": true,
"url": "https://centralindia.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&recognitionModel=recognition_02&returnRecognitionModel=false&detectionModel=detection_01",
"method": "POST",
"headers": {
"ocp-apim-subscription-key": "f4446c96ac3440c0b3d51093ce12d558",
"content-type": "application/json",
"host": "centralindia.api.cognitive.microsoft.com",
"cache-control": "no-cache",
"postman-token": "106bce66-4936-9191-5835-c3abb85433e2"
},
"processData": false,
"data": "{\n\t\"url\":\"https://i.ibb.co/1b5wYNp/sa.png\"\n\t\n}\n"
}
$.ajax(settings).done(function(response) {
console.log(response);
});
}
解决方案
使用B(imageURL)
并将参数添加到B
as async function B(imageURL)
。
将您的价值分配更新"data"
为如下所示。
"data" : '{ "url" : "' + url + '" }
此外,您可以使用Template literals (Template strings)
如下所示构建您的字符串。
"data" : `{ "url" : "${url}" }`
let url = "https://i.ibb.co/1b5wYNp/sa.png";
let data = '{ "url" : "' + url + '" }';
console.log(data);
// using Template literals (Template strings)
data = `{ "url" : "${url}" }`;
console.log(data);
推荐阅读
- pytorch - RuntimeError:cuDNN 错误:pytorch 中的 CUDNN_STATUS_NOT_INITIALIZED
- react-native - 如果我在函数中间更新状态,函数其余部分的执行顺序是什么?
- batch-file - 如何在没有空格的情况下批量计算句子中的每个字母
- powershell - 从服务器获取奇怪的错误 - PowerShell
- flutter - Flutter Navigator.of(context).pop() in showDialog, close full app in ios
- python - 无法将符号张量 (sequential/lstm/strided_slice:0) 转换为 numpy 数组。在 MacBook Pro M1 上使用 TensorFlow 时出现问题
- python - Python 中的 switch-case 语句
- html - HTML 和 CSS 图像不在盒子内
- azure-devops - 使用打包生成和发布配置文件的 Azure DevOps 发布管道
- python - 如何在 Python 中将用户输入格式化为变量