0
そこ応答は最初の1から来た後にのみ二つの文を取得し、私は2番目1を実行したい - >Javascriptで前のフェッチ呼び出しから応答が来た後、別のフェッチを呼び出す方法は?
function CreateRide(userId){
const baseUrl = "138.197.99.29:7000/createRide";
var reqObj = {};
var responseObj = {"success":false};
let url = 'http://138.197.99.29:7000/createRide?lat=122.254&lng=14.144&vehicleID=vufn414&time=test';
fetch(url)
.then((resp) => resp.json())
.then(function (data) {
responseObj.success = true;
console.log(data.rideID);
return data.rideID;
})
.catch(function (error) {
responseObj.success = false;
console.log(error)
})
}
と - >
function StartRide(rideId){
const baseUrl = "138.197.99.29:7000/createRide";
var reqObj = {};
var responseObj = {"success":false};
let url = 'http://138.197.99.29:7000/startRide?rideID=' + rideId;
fetch(url)
.then((resp) => resp.json())
.then(function (data) {
responseObj.success = true;
console.log(data);
return data.success;
})
.catch(function (error) {
responseObj.success = false;
console.log(error)
})
}
と私はStartRideを実行したいです応答はCreateRide
ありがとうございます。また、後で自分の状態変数を変更する必要があるので、両方の関数が実行されているかどうかを知ることができます(Reactネイティブで小さなプロジェクトを開発中) –
@PravandanChand:これはまったく同じ概念です。それに 'then'ハンドラを使います。あなたが 'then'ハンドラから約束を返すと、' then'約束はあなたが返す約束に従います。したがって、あなたが 'StartRide'から返す場合、' CreateRide(/*...*/)。then(result => StartRide(/*...*/))。then(result =>/* update state変数* /)。catch(/ * ...エラーハンドラ... * /); ' –
@TJCrowderありがとうございました:) –