1

ログインフォームに Google Invisible Recaptcha を追加するためにanuglar-recaptchaを使用しています

私が直面している問題は、vcRecaptchaService.execute を呼び出した直後に、印刷すると出力としてrecaptcha_reponse表示されることです。undefinedしかしrecaptcha_reponse、テスト機能printRecaptchaReponseを使用して数秒後に印刷すると、印刷されることがわかりますrecaptcha_reponse

ここでの問題は、ライブラリ関数vcRecaptchaService.execute()が here を返さないこと$promiseです。実際に戻ってきたnone

これを約束する方法はありますか?

問題は何ですか:

// 1. Call this function from html first
$scope.testRecaptchaExecute = function() {
    vcRecaptchaService.execute($scope.widgetId);
    console.log($scope.user.recaptcha_reponse);
    // undefined :-(
    return();
}

// 2. Call this function from html few seconds after testRecaptchaExecute() is called

$scope.printRecaptchaReponse = function() {
    console.log($scope.user.recaptcha_reponse);
    //JVRk4cZ4J_RluoH2
}

私が欲しい もの:

vcRecaptchaService.execute().then(ret => { //do something here }) このコードの問題は、vcRecaptchaService.execute が約束を返さないことです。このコードは機能しません

質問のまとめ.thenメソッドの 使い方はvcRecaptchaService.execute()

4

1 に答える 1