как проверять фронт-файл YAML в файле уценки с помощью программы [duplicate]

Другое решение состоит в том, чтобы выполнить код через последовательный исполнитель nsynjs .

Если базовая функция многозначна

nsynjs будет последовательно оценивать все обещания и ставить обещания результат в свойство data:

function synchronousCode() {

    var getURL = function(url) {
        return window.fetch(url).data.text().data;
    };
    
    var url = 'https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js';
    console.log('received bytes:',getURL(url).length);
    
};

nsynjs.run(synchronousCode,{},function(){
    console.log('synchronousCode done');
});

Если базовая функция не обещает

Шаг 1. Wrap с обратным вызовом в оболочку, совместимую с nsynjs (если у нее есть обещанная версия, вы можете пропустить этот тест):

var ajaxGet = function (ctx,url) {
    var res = {};
    var ex;
    $.ajax(url)
    .done(function (data) {
        res.data = data;
    })
    .fail(function(e) {
        ex = e;
    })
    .always(function() {
        ctx.resume(ex);
    });
    return res;
};
ajaxGet.nsynjsHasCallback = true;

Шаг 2. Вставить синхронную логику в функцию:

function process() {
    console.log('got data:', ajaxGet(nsynjsCtx, "data/file1.json").data);
}

Шаг 3. Выполнить функцию синхронно через nnsynjs:

nsynjs.run(process,this,function () {
    console.log("synchronous function finished");
});

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

Дополнительные примеры здесь: https://github.com/amaksr/nsynjs/tree/master/examples

5
задан moonwave99 8 January 2015 в 12:12
поделиться

1 ответ

Наиболее близким к стандарту было бы описание Jacyll Front Matter . Все остальное, похоже, следует этому. Если Jekyll не изобрел Yaml Front Matter, они были одним из первых замечательных проектов, которые могли бы его отличить.

YAML Lint linter смог проверить компоненты YAML каждого файл, который я выбрал. Согласно спецификации YAML , три-дефис --- ограничивает документы; один файл YAML может содержать много документов YAML. Содержимое Markdown после дефиса просто отбрасывается linter.

YAML очень свободен и прощает (в основном). Цитирование всех ваших строк не повредит, но вам, вероятно, не нужно беспокоиться.

Желание какого-то базового стандарта Markdown - это то, что привело к проекту CommonMark .

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

5
ответ дан joemaller 23 August 2018 в 22:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: