Ohhhhの男が、最終的には大爆笑問題を発見しました。 問題はグローバルcallbackIDだった:私はPOSTにcallbackIdを渡すために、コードを更新したら
self.callbackId = command.callbackId;
/すべてが正常に動作し始めます。
前:
- (void)http:(CDVInvokedUrlCommand*)command {
self.callbackId = command.callbackId;
// NSURLSessionConfiguration
[self initializeSession:headers];
if ([method isEqualToString:@"POST"]) {
[self doPost:url withData:data withHeaders:headers];
} else {
[self doGet:url withQueryString:queryString];
}
}
後:他の誰かが、問題が発生した場合には、ここで投稿
- (void)http:(CDVInvokedUrlCommand*)command {
self.callbackId = command.callbackId;
// NSURLSessionConfiguration
[self initializeSession:headers];
if ([method isEqualToString:@"POST"]) {
[self doPost:url withData:data withHeaders:headers withCommandID:command.callbackId];
} else {
[self doGet:url withQueryString:queryString withCommandID:command.callbackId];
}
}
は、最初のフィニッシュまで、2番目のをしないでください。しかし、あなたがコール1で2の応答を受け取った場合、あなたのプラグインは間違っています。起こるべきではありません。配列にリクエストを格納して、どのリクエストがどのレスポンスを返すかを確認してください。 – jcesarmobile
実際にはグローバルcallbackIDを渡していました。単一の呼び出しが複数回コールされた場合、同じグローバルコールバックIDがハンドラーに渡されて、間違った応答が返されます。 – Wils