libuv: что такое int, возвращаемое uv_tcp_connect?
Рассмотрим документацию uv_tcp_connect
,
Вот объявление функции:
int uv_tcp_connect(uv_connect_t* req, uv_tcp_t* handle, const struct sockaddr* addr, uv_connect_cb cb);
Он принимает обратный вызов и возвращает целое число.
Обычно другие функции в libuv возвращают код ошибки (0 в случае отсутствия ошибок).
Я думаю, что и этот работает так же.
Что мне неясно (и также недокументировано): в случае, если возвращаемое значение не равно 0, будет ли вызван обратный вызов в любом случае?
Другими словами, означает ли возвращаемое значение, отличное от 0, что операция вообще не будет выполнена или гарантированно будет вызван обратный вызов?
К сожалению, кажется, что не задокументировано, что такое возвращаемое значение.
3 ответа
См. Раздел обработки ошибок в документации. Ошибка (return < 0) означает, что никакая операция не будет выполнена и обратный вызов не будет вызван.
В случае, если он возвращает ненулевой результат, он не будет вызывать обратный вызов.
Вы можете проверить эту тему для более подробной информации:
- Возвращаемым значением является (отрицательный) код ошибки, 0 означает, что все прошло нормально.
- Код с ненулевыми путями возврата не ссылается на обратный вызов, поэтому я не думаю, что он будет вызван при ошибке.