Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Redux saga saga中API调用的结果为空_Redux Saga - Fatal编程技术网

Redux saga saga中API调用的结果为空

Redux saga saga中API调用的结果为空,redux-saga,Redux Saga,我有一个Redux传奇,它通过一个自定义库调用API端点(GET),该库返回一个包含请求的承诺。使用Superagent库获取。当我在我的React应用程序中发出此请求时,Chrome dev tools会显示正确发出的请求和响应,但是在发出此GET后,saga中的response对象为空。我在StackOverflow上看到过类似的问题,解决方案(“解决方案”)是让saga调用一个新函数,然后调用API端点。这并没有解决我的问题 function* exportFile({ payload }

我有一个Redux传奇,它通过一个自定义库调用API端点(GET),该库返回一个包含
请求的承诺。使用Superagent库获取
。当我在我的React应用程序中发出此请求时,Chrome dev tools会显示正确发出的请求和响应,但是在发出此GET后,saga中的
response
对象为空。我在StackOverflow上看到过类似的问题,解决方案(“解决方案”)是让saga调用一个新函数,然后调用API端点。这并没有解决我的问题

function* exportFile({ payload }) {
    try {
        const response = yield call(getFile, payload);
        console.log(response); // null

    } catch (err) {
        console.log(err);
    }
}


export function getFile(data) {
    return ajaxClient.get({
        url: '/api/getFile',
        data
    });
}

有效负载在GET中正确发送,后端接收参数并发送正确的响应。由于Chrome dev tools正确显示了请求和响应,我认为问题在于,在Chrome dev tools在网络选项卡中显示响应之前,
null
的响应被记录到控制台,因此不等待响应返回

这个问题与Redux传奇无关,这是ajaxClient库的问题,它需要JSON而不是文件或字符串

如果执行
getFile(有效负载)。然后执行(response=>console.log(response))
,则会记录哪些内容?当然,它也是空的。我确信它会返回响应字符串。因此,这表明代理调用存在问题。