在传递不同参数的for循环中多次发出get请求会返回一个promise,为什么?

时间:2017-12-30 12:44:01

标签: javascript reactjs promise es6-promise

我使用React和promises,我有2个函数。第一个返回数据。我调用第二个函数时使用的数据 - 我在其中发出get请求(/调用我正在进行实际get请求的函数)。我必须将第二个函数调用为我在第一个函数的响应中得到的项目数。

例如:在我的第一个函数中,我得到了以下内容:

调用multiAirports函数的响应:

{Airports: Array(4), Rail stations: Array(0), Others: Array(4), Links: Array(2)}

详细说明响应。机场:

Array(4) 0:{code: "JFK", name: "John F. Kennedy International Airport"}
1:{code: "LGA", name: "LaGuardia Airport"}
2:{code: "EWR", name: "Newark Liberty International Airport"}
3:{code: "SWF", name: "Stewart International Airport"}

现在在我的第二个(anyDestinationData)函数中,第一个参数是机场代码。在这里,我有4个机场代码(我在第一个函数的回复中得到)。现在我需要用4 diff调用anyDestinationDat 4次。机场代码。然后我会存储数据(设置状态,因为我正在使用反应)。我不知道该怎么做并继续回来[承诺]。

import {anyDestinationData} from ...;
import {multipleAirports} from ...;

handleInput() {
    multipleAirports(this.state.input.origin.value).then(response => {
        var result = [];
        var input = this.state.input;
        for (var i = 0; i < response.Airports.length; i++) {
anyDestinationData(response.Airports[i].code, input.departuredate, input.returndate, input.maxfare))
            result.push(
            return anyDestinationData(response.Airports[i].code, input.departuredate, input.returndate, input.maxfare)
        )
        }
        return result;
    }).then(response => {
         this.setState({
           data: response
         })
    })
}

在anyDestinationData函数中,我正在执行get函数的位置。

0 个答案:

没有答案