async customFunctions выдает неожиданный тип сообщения при запуске

У меня есть javascript CustomFunctions, который отлично работает с функциями синхронизации, но как только я пытаюсь использовать функцию Async, я получаю: "

Необработанное исключение в строке 21, столбец 707859 в https://appsforoffice.microsoft.com/lib/beta/hosted/excel-win32-16.01.js 0x800a139e - Der opstod en JavaScript-kørselsfejl: неожиданный тип сообщения

«Это происходит до того, как в моем js-файле вызывается какой-либо код javascript. Тип сообщения - 1002, поэтому, конечно, ошибка будет выдана с учетом javascript в указанном месте в excel-win-16.01.js:»

if (i [t] .messageType === 1001) u.push (i [t]); else throw OfficeExtension.Utility.createRuntimeError (st.generalException, "неожиданный тип сообщения", "

описание функции в формате json:

    {
      "name": "helloasync",
      "description": "simple test string return",
      "helpUrl": "https://www.konsolidator.com",
      "result": { 
        "type": "string",
        "dimensionality": "scalar"
      },
      "parameters": [],
      "options": {"sync": false}
    },
        {
      "name": "ADD42ASYNC",
      "description": "asynchronously wait 250ms, then add 42",
      "helpUrl": "http://dev.office.com",
      "result": {
        "type": "number",
        "dimensionality": "scalar"
      },
      "parameters": [
        {
          "name": "num",
          "description": "Number",
          "type": "number",
          "dimensionality": "scalar"
        }
      ],
      "options": {
        "sync": false
      }
    }

Код JS:

function helloasync() {
    return new OfficeExtension.Promise(function (setResult) {
        setTimeout(function () {
            setResult("hello");
        }, 1000);
    });
}

function ADD42ASYNC(num) {
    // waits 1 second before returning the result
    return new OfficeExtension.Promise(function (resolve,reject) {
        //resolve(num);
        //reject(num);
        setTimeout(function () {
            resolve(num + 42);
        }, 1000);
    });
}

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


person Nicky    schedule 07.05.2018    source источник


Ответы (1)


Не могли бы вы вместо этого попробовать ссылку на следующую версию Office.js?

http://unpkg.com/@microsoft/office-js@custom-functions-preview/dist/office.js

Сеть CDN в настоящее время немного устарела, но приведенное выше должно дать вам самую последнюю и лучшую информацию.

ОБНОВЛЕНИЕ, чтобы было ясно (и я не уверен, указано ли это в настоящее время в документации или нет, я отслеживаю это): ваша HTML-страница должна выглядеть так:

    <script src="https://unpkg.com/@microsoft/office-js@custom-functions-preview/dist/office.js" type="text/javascript"></script>
    <script src="customfunctions.js" type="text/javascript"></script>
    <script type="text/javascript">
        Office.Preview.startCustomFunctions();
    </script>

Где средний сценарий (customfunctions.js - это ссылка на любой файл JavaScript, который вы создаете для создания этих функций).

person Michael Zlatkovsky - Microsoft    schedule 07.05.2018
comment
хорошо что хоть что-то поменял. Теперь я получаю #GETTING_DATA, и больше ничего не происходит. это происходит с обоими методами в исходном фрагменте. - person Nicky; 14.05.2018
comment
следует ли мне открыть новый вопрос о проблеме с JQuery ajax. он отлично работает с боковой панели, но я понятия не имею, как заставить i работать в пользовательских функциях. - person Nicky; 16.05.2018
comment
Моя проблема заключалась в том, что у меня была ссылка на JQuery 3.3.1 до того, как ссылка на office.js переместила это после того, как ссылка на office.js решила проблему. Хотя это означает, что Jquery все еще не работает, он дает и доступ запрещен при попытке вызвать метод jquery ajax. - person Nicky; 17.05.2018
comment
Порядок jQuery по сравнению с Office.js не должен иметь значения - и оба могут абсолютно использоваться в сочетании друг с другом. Вы хотите сообщить о проблеме с этапами воспроизведения / проектом на github.com/OfficeDev/office- js / issues, чтобы команда могла продолжить расследование? - person Michael Zlatkovsky - Microsoft; 20.05.2018
comment
На данный момент нет, Майкл, в настоящее время я не могу воспроизвести проблему. так что сделать надежные шаги воспроизведения для меня было бы невозможно. - person Nicky; 24.05.2018