申し分なく、私はこのコードをドキュメントから直接取得しました。これは、setTimeout を数式から除外すると正常に機能し、その後、ユーザーをサービス上の必要な場所にリダイレクトします。
ただし、setTimeout を入れると、投稿が実際に発生するプロセス中、またはその直前 (どちらかは不明) で、投稿が行われない場所で競合状態が発生し、それに応じてスクリプトがリダイレクトされます。投稿が実際に作成された/作成されなかったことがわかっている場合に、これを処理してからリダイレクトする別の方法があるのではないかと思っています。または、他の人はこの状況をどのように処理しますか?
FB.api('/me/feed', 'post', obj.data.fb_post, function(response) {
console.log(response);
if (!response || response.error) {
alert('Error occured');
} else {
//setTimeout(function(){window.location = obj.data.whereTo;}, 3000);
}
});