【发布时间】:2018-02-09 17:24:01
【问题描述】:
我正在尝试在我的 express node.js 应用程序中制作翻译助手。 我已经制作了一个在 views 上运行良好的把手助手,但我正在尝试制作一个可以在我的 控制器 中运行的助手。 我希望它是同步的。
我不想要这个:
helpers.Translator('keyWord1', 'en', function(err, word){
return res.render("page", { word: word });
});
我想要这个:
var word = helpers.Translator('keyWord1', 'en');
return res.render("page", { word: word });
原因是因为我想将单词作为字符串获取,以便在处理 ajax POST/GET 上的错误时将其作为 json 返回到页面:
var error = helpers.Translator('keyWord2', 'en');
return res.json({OK:false, error: error});
有时我需要返回多个翻译后的单词,而我绝对不想这样做:
helpers.Translator('keyWord1', 'en', function(err, word1){
helpers.Translator('keyWord2', 'en', function(err, word2){
helpers.Translator('keyWord3', 'en', function(err, word3){
return res.render("page", { word1: word1, word2: word2, word3:word3 });
});
});
});
我的助手翻译应该是什么样子的?
【问题讨论】:
-
解决这个问题的方法是众所周知的。承诺。
-
你可以在 nodejs 8+ 中使用 async/await
-
承诺一切都是解决方案
-
我试着做这样的事情:pastebin.com/hRNs9X2N 没用。提示/帮助?
标签: javascript node.js synchronization return