Вызывающий код ожидать функция, которая возвращает объект ...
Код может сделать много умных вещей, чтобы принять их, но намного проще, если у него простой и понятный интерфейс. Повинуйтесь этому интерфейсу.
Пример.
«Кто-то подарил вам новую рубашку».
Вы можете сделать умное мышление и посмотреть, что подарок обернут в красивую подарочную коробку или нет и предпримет правильное действие. (1) Если подарок завернут, разверните его и наденьте. (2) Если он не завернут, просто наденьте его.
Чтобы сделать интерфейс функции, которую вы используете (или передаете обратный вызов или какую-либо функцию, которую вы используете в коде), они решили не делать умную вещь (которую может быть сложно запрограммировать несколько раз), тогда как будто кто-то дал вам развернутую рубашку, но вы ожидали, что она будет обернута, поэтому вы просто разорвите рубашку, пытаясь развернуть ее (но она не завернута).
Резюме:
- Прочитайте соответствующую документацию для библиотеки, которую вы используете;
- Обязательно используйте интерфейс для библиотеки, которую вы используете;
результат - это функция, newObj - это объект. Они разные, поэтому первый не работает, – Sxntk