Reactjs React Native:如何仅获取Apple收据并通过API调用传递它
我对仅仅从承诺中获取苹果收据有意见 这是通常的回答: 承诺{U 40:0,{U 65:0,{U 55:null,{U 72:null} _55:null包含收据,而null实际上是收据,因为主体太大,无法读取 我还在API调用中使用Ignite Andross样板文件。他们在用辣椒酱 我正在使用dooboolab的react native iap。 我尝试过这些选择Reactjs React Native:如何仅获取Apple收据并通过API调用传递它,reactjs,react-native,in-app-purchase,react-native-ios,Reactjs,React Native,In App Purchase,React Native Ios,我对仅仅从承诺中获取苹果收据有意见 这是通常的回答: 承诺{U 40:0,{U 65:0,{U 55:null,{U 72:null} _55:null包含收据,而null实际上是收据,因为主体太大,无法读取 我还在API调用中使用Ignite Andross样板文件。他们在用辣椒酱 我正在使用dooboolab的react native iap。 我尝试过这些选择 getLatestReceipt=async()=>{ var recentReceipt=await RNIap.request
getLatestReceipt=async()=>{
var recentReceipt=await RNIap.requestReceiptIOS();
this.setState({latestReceipt:recentReceipt});
//Alert.Alert(this.state.latestReceipt);
console.log(this.state.latestReceipt);
};
这会在控制台中打印出正确的当前收据
但是,当我尝试传递当前收据时,该字段要么被读取为未定义、null,要么被读取为承诺{{u 40:0、{u 65:0、{u 55:null、{u 72:null}
var数据={
苹果请求:[
{
认购编号:“A-S00000001”,
//苹果收据
收据id:this.state.latestReceipt
}
]
};
我尝试的另一个解决方案是JSON.parse(latestReceipt)[“_55”]
然而,结果返回为0-M、1-I、2-I、3-M、4-B。。。
它吐出了每个单独的收据索引,而我需要的是_55的整个值
最后,唯一有效的选择是在Receipt_id字段中硬编码整个苹果收据。我正在寻找一种方法来避免这种情况
预期产量
receipt\u id:无论读取什么apple receipt,这个问题的解决方案是API调用和包含JSON主体的and函数都需要是异步调用。 包装:
async function getReceipt() {
const latestReceipt = await RNIap.requestReceiptIOS();
api.post(
url,
{
apple_request: [
{
subscription: ${subscription_number},
// Apple Receipt
receipt_data: latestReceipt
}
]
},
{
headers: {
"API-Token": ${api_token}
}
}
);
}
Api异步/等待调用:
const receiptCall = async () => await getReceipt();
这个问题的解决方案是,API调用和包含JSON主体的函数都需要是异步调用。 包装:
async function getReceipt() {
const latestReceipt = await RNIap.requestReceiptIOS();
api.post(
url,
{
apple_request: [
{
subscription: ${subscription_number},
// Apple Receipt
receipt_data: latestReceipt
}
]
},
{
headers: {
"API-Token": ${api_token}
}
}
);
}
Api异步/等待调用:
const receiptCall = async () => await getReceipt();
听起来您正在使用
fetch
并需要等待响应。json()
first看起来我正在尝试改变一个不变的承诺。是否可以将异步承诺更改为同步?承诺{u 40:0,{u 65:0,{u 55:null,{u 72:null}{u 40:0}:“Miimcayjkozihvcnaqccoil+tccjfucqfucqexczajbgurdgmgg”{u 65:1\u 72:null}听起来像是在使用fetch
并需要等待响应。json()
首先看起来像是我在试图改变一个不变的承诺。是否可以将异步承诺更改为同步?承诺{u 40:0,{u 65:0,{u 55:null,{u 72:null}{u 40:0}