Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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 Axios预示着混乱_Javascript_Promise_Axios - Fatal编程技术网

Javascript Axios预示着混乱

Javascript Axios预示着混乱,javascript,promise,axios,Javascript,Promise,Axios,我很困惑我是如何得到所有其他信息索引的Test1结果的,所以如果Test1为true,即使Test2和Test3为null,它也会基于Test1继续打印true let info = ["Test1", "Test2", "Test3"]; isInfoAviable= (email) => { payload.info = info return axios.post(url, payload, axiosConfig).then((response) => {

我很困惑我是如何得到所有其他信息索引的Test1结果的,所以如果Test1为true,即使Test2和Test3为null,它也会基于Test1继续打印true

let info = ["Test1", "Test2", "Test3"];

isInfoAviable= (email) => {
    payload.info = info
    return axios.post(url, payload, axiosConfig).then((response) => {
        return response.data.isAvailable ? true : null
    }).catch((error) => {
        console.log(error);
    });
}

for (info of infos) {

    isInfoAviable(info).then((res) => {
        console.log(res) // If Test1 returns true, it'll  true even if Test2 is null, why?
    })
}

您可以
捕获
IsInfo Available
函数中的错误,因此当您执行
IsInfo Available()
时,即使在
IsInfo Available
中拒绝了承诺,也可以解决此问题

要解决此问题,请从
isinfoviable
中删除
catch
,并在调用
isinfoviable()
时捕获它:

isInfoAviable(info).then(...).catch(...)

编辑:将
payload.info=info
更改为
payload.info=email
。也要避免使用函数范围之外的变量(例如,
有效载荷
应该在
IsInfo-Available
中声明)。

我从IsInfo-Available中删除了捕获,并将其放入for循环,正如您所说,它仍然给出相同的输出。也许我不理解您的问题。“如果Test1返回true,它将为true”什么是true?如果我在axios.post(()=>{})中放置一个console.log(payload.info),那么payload.info将始终返回Test1,而不检查其他参数,Test1为true,因此如果我将数组重新排序为[“Test3”、“Test1”、“Test2”],它仍然只会打印Test1Oh,请尝试
payload.info=email
。还应尽量避免使用函数范围之外的变量(例如,
有效负载
未在
isinfoviable
中声明)。