Blo*_*ner 2 javascript blockly electron

首先,在在这里深入研究之前,我已经问过这个问题的更简单版本。但是,当我搜索时,事情变得更加复杂,我可以再描述一下。

我正在尝试使用 Google 的 Blockly 创建一个电子应用程序。重命名 Blockly 域中的变量会在用户浏览器中打开一个提示,要求输入新变量的名称,正如您在它自己的网站上看到的那样(单击“计数”并选择“重命名变量...”)。

window.prompt()Blockly.promptwindow.prompt()
electron-prompt
var prompt = require('electron-prompt');
var setPrompt = function()
{ 
    return prompt
    ({
        title: 'Renaming',
        label: 'Renaming variable to:',
        type: 'input'
    })
};

var getPrompt = function()
{
    return setPrompt().then(function(value){return value})
}

var promptReturn = function()
{
    return getPrompt().then(function(value){return value})
}

Blockly.prompt = function(message, defaultValue, callback)
{
    callback(promptReturn().then(function(value){return value}));
};
Run Code Online (Sandbox Code Playgroud)
electron-promptpromptcallbackBlockly.promptsetPrompt()callback
callbackBlockly.prompt

希望这有助于解释我在查找有关此问题的更多信息后尝试使用的内容。