在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Linux  HTML/ 在node.js中先fetch后進行跳轉報錯的問題

在node.js中先fetch后進行跳轉報錯的問題

我的任務是在接收到訪問請求后,先用fetch獲取數(shù)據(jù),再使用response.setHeader('Location','http://www.b.com')進行跳轉,但是沒有跳轉成功,在node服務端報錯。
代碼如下:

import fetch from 'node-fetch';

let ret = await fetch('http://www.a.com');
let data = await ret.json();
//這里假設response已經為獲取到的對象。
response.setHeader('Location','http://www.b.com');
response.statusCode = 302;
response.end();

錯誤提示如下:

Error: Can't set headers after they are sent.

但如果將fetch放到后面,就可以成功跳轉,不會報錯,代碼如下:

import fetch from 'node-fetch';

//這里假設response已經為獲取到的對象。
response.setHeader('Location','http://www.b.com');
response.statusCode = 302;
response.end();

let ret = await fetch('http://www.a.com');
let data = await ret.json();

但我先獲取數(shù)據(jù),再進行跳轉的目的就沒有達到。
所以應該怎么解決這個問題?

回答
編輯回答
雨萌萌

如果使用的是Express的話,試一下redirect方法
這里有個類似的問題供參考:https://stackoverflow.com/que...

2018年4月2日 01:39