Возможно ли php скрипт дождаться выполнения функции и продолжить? - PullRequest
0 голосов
/ 11 апреля 2020

Я работаю над тем, что скрипту нужно подождать до childFunc, после чего вернем результат childFunc и после этого скрипт продолжится. Что-то вроде async и await в javascript.

<?php

$loginResponse = $system->login($username, $password);

        if ($loginResponse !== null && $loginResponse->isTwoFactorRequired()) {

            $twoFactorIdentifier = $loginResponse->TwoFactorInfo()->getTwoFactorIdentifier();


            // I need to wait here that myChaildFucn LoadView and get data from user and then after some process retuen result!!!! 

            $verificationCode = myChaildFucn();

            $system->checkTwoFactorLogin($username, $password, $twoFactorIdentifier, $verificationCode,);
        }

1 Ответ

0 голосов
/ 12 апреля 2020

Салам,

(если вы хотите говорить по-персидски, я в порядке, но я предпочитаю ответить по-английски sh, чтобы другие люди, имеющие такую ​​же проблему, могли найти решение)

Итак, как вы знаете, PHP - это синхронный механизм, и мы должны использовать ajax для разделения наших запросов или использовать некоторые функции для имитации асинхронных характеристик.

в любом случае ...

у нас есть два варианта решения этой проблемы:

  1. использовать функцию сна: если вы уверены в сроках задержки, просто используйте ее и задайте задержку, чтобы остановить приложение для секунд, иначе это не очень хорошая идея для вашей ситуации.

  2. используйте foxyntax_ci в https://github.com/LegenD1995/foxyntax_ci: если у вас есть SPA или REST API, это ваш лучший вариант !! на самом деле он имеет несколько библиотек на codeigniter и помогает вам строить запросы, работая с файлами, сессиями, файлами cookie, авторизацией конфигурации и ... с асинхронной функцией от javascript. (ПРИМЕЧАНИЕ. Это альфа-версия, но в ней нет ошибок, для повышения производительности необходимо просмотреть функцию мультимедиа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...