Javascript 从函数a传递函数b中变量的值
我有一个函数a,我希望它使用Javascript 从函数a传递函数b中变量的值,javascript,jquery,Javascript,Jquery,我有一个函数a,我希望它使用wait调用函数B函数A有一个变量var imageURL,我如何在函数B中调用它- “数据”:“{\n\t\”url\:\”https://i.ibb.co/1b5wYNp/sa.png\“\n\t\n}\n”代替硬编码url 函数A(){ var encodedImage=“ivborw0kggoaaaansuheugaafa”; 控制台日志(“上传图片”); //创建根引用 var storageRef=firebase.storage().ref().chi
wait
调用函数B函数A有一个变量var imageURL
,我如何在函数B中调用它-
“数据”:“{\n\t\”url\:\”https://i.ibb.co/1b5wYNp/sa.png\“\n\t\n}\n”
代替硬编码url
函数A(){
var encodedImage=“ivborw0kggoaaaansuheugaafa”;
控制台日志(“上传图片”);
//创建根引用
var storageRef=firebase.storage().ref().child('image4.jpeg');
const uploadTastk=firebase.storage().ref().child('image4.jpeg').putString(encodedImage,'base64'{
contentType:“图像/jpeg”
})
上传tastk(
(回应)=>{
console.log('图像上载成功')
控制台日志(响应);
uploadTastk.snapshot.ref.getDownloadURL().then(函数(downloadURL){
log(“文件位于”,下载URL);
var imageURL=下载URL;
等待B();
});
},
(失败原因)=>{
console.log('图像上载失败')
}
)
}
异步函数B(){
变量设置={
“异步”:true,
“跨域”:正确,
“url”:”https://centralindia.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&recognitionModel=recognition_02&returnRecognitionModel=false&detectionModel=detection_01",
“方法”:“发布”,
“标题”:{
“ocp apim订阅密钥”:“f4446c96ac3440c0b3d51093ce12d558”,
“内容类型”:“应用程序/json”,
“主机”:“centralindia.api.cognitive.microsoft.com”,
“缓存控制”:“无缓存”,
“邮递员代币”:“106bce66-4936-9191-5835-c3abb85433e2”
},
“processData”:false,
“数据”:“{\n\t\”url\:\”https://i.ibb.co/1b5wYNp/sa.png\“\n\t\n}\n”
}
$.ajax(设置).done(函数(响应){
控制台日志(响应);
});
}
使用B(imageURL)
并将参数添加到B
作为异步函数B(imageURL)
更新“数据”
赋值,如下所示
"data" : '{ "url" : "' + url + '" }
"data" : `{ "url" : "${url}" }`
此外,您还可以使用构建字符串,如下所示
"data" : '{ "url" : "' + url + '" }
"data" : `{ "url" : "${url}" }`
let url=”https://i.ibb.co/1b5wYNp/sa.png";
让数据=“{”url:“'+url+“}”;
控制台日志(数据);
//使用模板文字(模板字符串)
数据=`{“url”:“${url}”}`;
控制台日志(数据)代码>由于imgeUrl是JSON数据的字符串版本,您可以通过JSON.parse
函数将其传递给Javascript对象,这样您就可以在代码中轻松地对其进行操作
let downloadURL=“{\n\t\”url\:\”https://i.ibb.co/1b5wYNp/sa.png\“\n\t\n}\n”;
让parsedData=JSON.parse(下载URL);
console.log(parsedData)
使用等待B(imageURL)
和异步函数B(imageURL){
“数据”:imageURL
“数据”:“{\n\t\“url\:\“imageURL\”\n\t\n}\n”,这是正确的吗?,我不能删除函数a中的任何其他括号和url字,它说的是await仅在异步函数中有效,我已将await添加到函数B中,但它不正确。请使用“{\n\t\“url\:\”+imageURL+“\”\n\t\n}\n
@Karan我正在删除我的答案,因为我们正在以某种方式实现相同的工作目标。如果您愿意,您可以继续回答。一切正常,但会出现一个错误,即拒绝设置不安全的标题“host”
,这可能是另一个问题。检查,