2
經過多次嘗試獲取HttpRequest中的響應內容後,我完全無法知道或理解爲什麼我不能擁有我想要的內容,而且我必須提及,我只能在onReadyStateChange(onLoad)內記錄和操作響應並onLoadEnd給我同樣的結果!),但我真的想在回調之外的價值。如何訪問Dart中HttpRequest響應的結果?
這裏是代碼的一部分,我是堅持了
Map responsData;
req=new HttpRequest()
..open(method,url)
..send(infojson);
req.onReadyStateChange.listen((ProgressEvent e){
if (req.readyState == HttpRequest.DONE){
if(req.status == 200){
responsData = {'data': req.responseText};
print("data receaved: ${ req.responseText}");
//will log {"data":mydata}
}
if(req.status == 0){
responsData = {'data':'No server'};
print(responsData);
//will log {"data":No server}
}
}
});
//anything here to get responsData won't work
是的,我想分配,以便回調外的變量響應發送類的外部數據,okey我會嘗試這個解決方案,我會盡快給你一個反饋,謝謝你的幫助,這意味着很多! –
我試過你的解決方案,它不錯,但仍然不是我需要的,它只給出了回調塊的移動性,以便在其他類中使用它,但它不允許在其外部獲得響應值!請如果我誤解你在那裏做了什麼讓我知道! –
我很難知道你想做什麼。我補充說道,也許這就是你想要的。回調方法是閉包。您可以像在註釋掉的行中那樣訪問方法之外的變量。您可以在onLoad()回調函數或then()回調函數中完成此操作。 –