私は初心者です。私は問題を思いつきました。私はAsyncStorageを使用してデバイスにデータを格納することができました。問題は、ラッパーでreadメソッドを呼び出すと、待機中のすべてをログに記録するので、データがそこにあることがわかります。しかし、POSTリクエストを行うためにそれを使用すると、私が相手側に取得するデータは、私が保存したものとはまったく関係ありません。 AsyncStorageで保存されたデータを取得できません
import React, { Component } from 'react';
import {
AsyncStorage,
} from 'react-native';
module.exports = {
save: async function(key, data){
//console.log(save key:${key} data:${data} stringify:${JSON.stringify(data)});
try {
await AsyncStorage.setItem(key, JSON.stringify(data));
console.log('### STORAGE - Save: Saved key: ' + key + ' with data ' + data)
return true;
} catch(err) {
console.log('### STORAGE - Save: ERROR SAVING ' + key + ':' + data);
return false;
}
},
read: async function(key) {
console.log('### STORAGE - Reading key: ' + key);
try {
var data = await AsyncStorage.getItem(key);
if (data !== null){
console.log('### STORAGE - Read result: ' + typeof(JSON.parse(data)) + ' : ' + JSON.parse(data));
return JSON.parse(data);
}else {
console.log("### STORAGE - Storage.read(): Not found");
return false;
}
} catch (err) {
console.log('### STORAGE - Storage.read(): error: ' + err.message);
return false;
}
},
empty: function(key){
try {
AsyncStorage.setItem(key, '');
//console.log(Storage.empty: cleaning key ${key});
return true;
} catch(err) {
//console.log(Storage.empty: ERROR ${err});
return false;
}
}
}
- :ここ は君たちのためにいくつかのコードです">
- データを取得するために使用している関数は次のとおりです。 012今
_onPressButtonGET() {
var usuario = storage.read('lastname');
return fetch("http://<my api>", {
method: "POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
username: usuario,
lastname: 'yourOtherValue',
cellphone: 'cellphone',
parse: 'parse',
})
})
.then((response) => response.json())
.then((responseJson) => {
console.log(responseJson)
Alert.alert(
"GET Response",
"EMERGENCY " + JSON.stringify(responseJson['EMERGENCY'])
)
})
.catch((error) => {
console.error(error);
});
}
}
私は、ストレージラッパーからログを見ると、私は次を得る:
I/ReactNativeJS(15760): ### STORAGE - Reading key: username
I/ReactNativeJS(15760): ### STORAGE - Read result: string : Federico
これはデータがあることを、意味!! =)
しかし、私はちょうど回復値を持つPOSTリクエストを作るとき、これは私がAPIログに取得されるものです:
BODY: {u'username': {u'_40': 0, u'_72': None, u'_55': None, u'_65': 0},
私はちょうど私が間違ってやっているかを見ることができません。それは約束ですか?そうなら、誰かがどのように処理すべきかについての詳細な例を挙げることができますか?このことについて申し訳ありませんが、私はしばらくの間、これにこだわっている今=(
する私はあなたのこと!!このasyncronicプログラミングは私にとって新しいものである...しかし、私は学んだ!おかげで再びあなたの助けてくれてありがとう!!ビール男を借りて。 –
それは答えを受け入れるのに十分です;) – Andreyco