0
で非同期にres.render実行私はこのルータ応答非同期をしようと急行アプリ
var express = require('express'),
router = express.Router(),
async = require('async');
router.get('/', function(req, res, next) {
async.parallel([
res.render('contact', {
titleShown: true,
title: 'Contact'
})
], req);
});
方法それをしてもいいですか?私は--trace-sync-io
フラグを使用するときに私が得た
エラーメッセージ:
WARNING: Detected use of sync API
at fs.statSync (fs.js:892:18)
at tryStat (C:\www\node\website\node_modules\express\lib\view.js:169:15)
at resolve (C:\www\node\website\node_modules\express\lib\view.js:142:14)
at lookup (C:\www\node\website\node_modules\express\lib\view.js:110:17)
at View (C:\www\node\website\node_modules\express\lib\view.js:85:20)
at render (C:\www\node\website\node_modules\express\lib\application.js:569:12)
at render (C:\www\node\website\node_modules\express\lib\response.js:961:7)
at C:\www\node\website\routes\contact.js:9:7
at handle (C:\www\node\website\node_modules\express\lib\router\layer.js:95:5)
あなたは非同期応答によって何を意味していますか? – gmaliar
contact.jsの9行目の9行目は 'res.render'です。そのため、非同期ではないと思ったのです。私はエラーメッセージで質問を更新しました。 – Lanti
res.renderはすでに非同期です。 : 'router.get( '/'、(req、res、next)=> { res.render( '連絡先'、{タイトル: '連絡先'}、(エラー、html)=> { console.log( 'この静的なものを送信しました'); }); console.log( 'this is async'); }); 「これは非同期です」という文字列は、「この静的なものを送信しました」の前に表示される可能性があります。これはすべてasync.です。 – Syberic