如果拒绝和捕获承诺,则chrome错误不会解析源映射

时间:2016-03-31 12:20:15

标签: javascript google-chrome google-chrome-devtools source-maps es6-promise

当我的承诺被拒绝时,我无法获取chrome来解析我的源图。 在我的代码中,我打印了一个值,然后故意让我的承诺失败:

Promise
.all(loadSequence)
.then(function() {
  // this part of the code will call
  //
  // ...
  // window.console.log(this);
  // return this._foo.bar
  // ...
  //
  // at some point in models.stack.js

  let series = seriesContainer[0].mergeSeries(seriesContainer)[0];
})
.catch(function(error) {
  window.console.log('oops... something went wrong...');
  window.console.log(error);
 });

enter image description here

  • window.console.log(this)正确解析为models.stack.js:325。
  • 错误并未解析为models.stack.js,而是解析为捆绑代码(geometrytries_slice.js)。

承诺电话:

Promise
 .all(loadSequence)
 .then(function() {

   let series = seriesContainer[0].mergeSeries(seriesContainer)[0];
 })

如果未捕获错误:

public class DialogActivity extends Activity implements View.OnClickListener
{

public Activity c;
public Dialog d;
public Button yes, no;
String url = "";
ImageView closeImageView;
static WebView newsWebViewDialog;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,     WindowManager.LayoutParams.MATCH_PARENT);

    setContentView(R.layout.layout_custom_dialog);

    try
    {
        if(null == getIntent().getStringExtra("url"))
        {
            url = "";
        }
        else
        {
            url = getIntent().getStringExtra("url");
        }

    }
    catch (Exception e)
    {

    }

    closeImageView = (ImageView)findViewById(R.id.imageView_close);
    closeImageView.setOnClickListener(this);
    newsWebViewDialog = (WebView)findViewById(R.id.webview_news_dialog);

    newsWebViewDialog.getSettings().setJavaScriptEnabled(true);
    newsWebViewDialog.getSettings().setLoadWithOverviewMode(true);
    newsWebViewDialog.getSettings().setUseWideViewPort(true);
    newsWebViewDialog.setWebViewClient(new WebViewClient());


    newsWebViewDialog.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url1) {
            if (url1.equals(url)) {
                view.loadUrl(url);
            } else {
                finish();
                Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url1));
                startActivity(i);
            }
            return true;
        }


    });
    newsWebViewDialog.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return (event.getAction() == MotionEvent.ACTION_MOVE);
        }
    });
    // newsWebViewDialog.loadUrl("http://www.back2cart.com/TestAdv.aspx");


    if(!url.equals(""))
    {
        newsWebViewDialog.loadUrl(url);
    }


}


@Override
public void onClick(View v)
{
    if(v==closeImageView)
    {
        finish();
    }
}
}

然后正确映射错误。

enter image description here

这是预期的行为吗?

0 个答案:

没有答案