Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何比较Javascript中两个承诺产生的值?_Javascript_Dns_Google Cloud Dns - Fatal编程技术网

如何比较Javascript中两个承诺产生的值?

如何比较Javascript中两个承诺产生的值?,javascript,dns,google-cloud-dns,Javascript,Dns,Google Cloud Dns,你好 我想知道如何比较Javascript中两个承诺的值。 我不知道如何让程序在if语句之前等待。 如果承诺尚未实现,则该语句的计算结果为false,因此程序遵循else分支 谢谢您可以将其包装在另一个异步函数中: async function getDNShomeIP(){ var response = await fetch('https://dns.google/resolve?name=example.com'); // this uses the google api

你好

我想知道如何比较Javascript中两个承诺的值。 我不知道如何让程序在if语句之前等待。 如果承诺尚未实现,则该语句的计算结果为false,因此程序遵循else分支


谢谢

您可以将其包装在另一个异步函数中:

async function getDNShomeIP(){
    var response = await fetch('https://dns.google/resolve?name=example.com'); // this uses the google api
    var json = await response.json();
    var homeIPadress = json.Answer[0].data;
    console.log(homeIPadress);
    return homeIPadress;
};

async function getCurrentIP(){
  var response = await fetch("https://api.ipify.org?format=json");
  var json = await response.json()
  var currentIPadress = json.ip;
  return currentIPadress;
}

var homeIPadress = getDNShomeIP();
var currentIPadress = getCurrentIP();

if (homeIPadress == currentIPadress){
  alert("from same from lol");
} else {
  alert("not from same")  
};

您可以将其包装到另一个异步函数中:

async function getDNShomeIP(){
    var response = await fetch('https://dns.google/resolve?name=example.com'); // this uses the google api
    var json = await response.json();
    var homeIPadress = json.Answer[0].data;
    console.log(homeIPadress);
    return homeIPadress;
};

async function getCurrentIP(){
  var response = await fetch("https://api.ipify.org?format=json");
  var json = await response.json()
  var currentIPadress = json.ip;
  return currentIPadress;
}

var homeIPadress = getDNShomeIP();
var currentIPadress = getCurrentIP();

if (homeIPadress == currentIPadress){
  alert("from same from lol");
} else {
  alert("not from same")  
};

在另一个异步函数中使用wait关键字,以便该函数在继续执行之前等待响应

异步函数质量测试仪{ var homeIPadress=wait getDNShomeIP; var currentipAddress=等待getCurrentIP; 如果HomeIpAddress==CurrentIpAddress{ 来自lol的相同警报; }否则{ 不一样 }; }
测试质量 在另一个异步函数中使用wait关键字,以便该函数在继续执行之前等待响应

异步函数质量测试仪{ var homeIPadress=wait getDNShomeIP; var currentipAddress=等待getCurrentIP; 如果HomeIpAddress==CurrentIpAddress{ 来自lol的相同警报; }否则{ 不一样 }; }
测试质量 首先需要修复fetch函数,然后修复async wait函数 您必须像这样将等待函数放在异步函数上, 按照下面的代码修复getdnshomeip

async function execute() {
  var homeIPadress = await getDNShomeIP();
  var currentIPadress = await getCurrentIP();

  if (homeIPadress == currentIPadress){
    alert("from same from lol");
  } else {
    alert("not from same");
  }
}

execute();


首先需要修复fetch函数,然后修复async wait函数 您必须像这样将等待函数放在异步函数上, 按照下面的代码修复getdnshomeip

async function execute() {
  var homeIPadress = await getDNShomeIP();
  var currentIPadress = await getCurrentIP();

  if (homeIPadress == currentIPadress){
    alert("from same from lol");
  } else {
    alert("not from same");
  }
}

execute();


你在描述我创建的一个函数

异步函数getDNShomeIP{ var response=wait fetch'https://dns.google/resolve?name=example.com'; var json=await response.json; var homeipaAddress=json.Answer[0]。数据; console.loghomeIPadress; 返乡; }; 异步函数getCurrentIP{ var响应=等待fetchhttps://api.ipify.org?format=json; var json=await response.json var currentIPAddress=json.ip; console.logcurrentIPAddress; 返回当前地址; } 常数{eq}=rubico eqgetDNShomeIP,getCurrentIP.thenconsole.log
你在描述我创建的一个函数

异步函数getDNShomeIP{ var response=wait fetch'https://dns.google/resolve?name=example.com'; var json=await response.json; var homeipaAddress=json.Answer[0]。数据; console.loghomeIPadress; 返乡; }; 异步函数getCurrentIP{ var响应=等待fetchhttps://api.ipify.org?format=json; var json=await response.json var currentIPAddress=json.ip; console.logcurrentIPAddress; 返回当前地址; } 常数{eq}=rubico eqgetDNShomeIP,getCurrentIP.thenconsole.log
谢谢,我没有意识到它已经存在了,我只是使用了堆栈溢出中的其他位,并自己编写了代码。我们得出了相同的结论。lolYeah,我会说这是一个非常幸运的情况:-谢谢,我没有意识到它已经存在了,我只是使用了堆栈溢出的其他位,并自己编写了代码。我们得出了相同的结论。是的,我想说这是一个非常幸运的情况:-