Node.js:使用'request-promise'模块,如何在收到响应之前执行函数?

时间:2018-04-23 14:23:49

标签: javascript node.js callback request-promise

我希望得到我发送请求的时间以及从服务器获得响应的时间,因为某些请求可能需要一些时间才能在服务器端进行处理。我有这个:

function httpRequestCall(options) {
    let timeJson.before = getTime();
    let myRequest = () =>{
       request(options)
           .then((response) => {
                let statusCode = JSON.stringify(response.statusCode);
                let responseData = response.body.data;

                console.log("Response: " + responseData);

                timeJson.after = getTime();
                httpTimes.push(timeJson); //array of all times
                checkRecursion(index++); //I'm using recursion

           .catch((err) => {
               console.log("Error: " + err);

               timeJson.after = getTime();
               httpTimes.push(timeJson);
               checkRecursion(index++);
            })

   }

   myRequest();
}

我的问题是:有什么方法可以得到请求的确切时间吗?使用上面的代码,我在发出请求之前就得到了时间,这不是我需要的,因为在发出请求时会出现某种网络问题,如果发生这种情况,我将会有错误的时间。

非常感谢提前。

0 个答案:

没有答案